当前位置: 代码迷 >> 综合 >> 开源Webmail-Intouch2.2beta版部分汉字乱码的解决
  详细解决方案

开源Webmail-Intouch2.2beta版部分汉字乱码的解决

热度:74   发布时间:2023-12-17 19:51:57.0

由于Intouch2.2还处于beta阶段,一直也没有更新,部署后出现一些汉字乱码问题,经过调试源码解决了问题,简述如下:

发现汉字乱码的主要是Webmail的汉字名称的附件和Webdisk中的汉字名的文件。Webdisk中上传、和下载文件名中有汉字的文件,文件名都是乱码,而Webmail附件是添加附件、显示附件文件名都没有问题,就是点击下载或保存时文件名是乱码。

经过调试,问题主要出在DownloadService.java和DumpPartService.java中。

DumpPartService.java

if (download) {
    response.setHeader("Content-disposition","attachment; filename=/"" + fn + "/"");
} else {
    response.setHeader("Content-disposition","inline; filename=/"" + fn + "/"");
}

改为:

String fileName = Utility.updateTRChars(fn);

if (download) {
    response.setHeader("Content-disposition","attachment; filename=/"" + java.net.URLEncoder.encode(fileName,"UTF-8") + "/"");
} else {
    response.setHeader(&