开源Webmail-Intouch2.2beta版部分汉字乱码的解决
来源:互联网 发布:python中verify false 编辑:程序博客网 时间:2024/05/21 22:35
由于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("Content-disposition","inline; filename=/"" + java.net.URLEncoder.encode(fileName,"UTF-8") + "/"");
}
Webdisk上传下载出现乱码和tomcat的设置也有关系,查看一下Tomcat配置文件Server.xml中关于port的设置部分,即"<port="8080"",在其中加入URIEncoding="UTF-8"这样一个属性。否则通过web上传的文件名可能有乱码。
DownloadService.java
response.setHeader("Content-disposition","attachment; filename=/"" + f.getName() + "/"");
改为
response.setHeader("Content-disposition","attachment; filename=/"" + java.net.URLEncoder.encode(f.getName(),"UTF-8") + "/"");
下面附件中是修改并编译好的两个class文件,覆盖原文件即可。下载【】。
- 开源Webmail-Intouch2.2beta版部分汉字乱码的解决
- 开源WebMail客户端Intouch2.2beta导致IE6崩溃的原因和修改方法
- 开源Webmail客户端Claros inTouch2.2 Beta+James MailServer配置和调试
- Cxf发布restful传递到客户端部分汉字乱码的解决
- 如何解决汉字乱码的问题!
- sqlplus 汉字乱码问题的解决
- MySQL客户端显示汉字乱码的解决
- php调用oracle,汉字乱码的解决
- sqlplus 汉字乱码问题的解决
- sqlplus 汉字乱码问题的解决
- sqlplus 汉字乱码问题的解决
- 解决用户名为汉字乱码的问题
- QT5 解决汉字乱码的方法
- 解决js输出汉字乱码的问题
- Android 部分页面乱码的解决
- Mysql 汉字写入乱码解决
- 解决接口汉字乱码问题
- html上汉字乱码解决
- postfix 日志备份
- MySQL+PHP乱码原理与解决 【转】
- 线程异常,而进程不死 | 每次只打开一个桌面程序
- Python
- google向bing学习加入用户自定义皮肤功能
- 开源Webmail-Intouch2.2beta版部分汉字乱码的解决
- 你在替下属“背猴子”?
- PHP :time(),date(),mktime()区别 【转】
- Snooper工具中的ECC功能
- linux库文件的编写
- 路灯监控调光系统
- PHP之COOKIE支持详解 【转】
- nutch搜索结果为0。。。
- 修改sa的密码