IE6.0-SP2下载中文名称出现截短现象
文件名称为:十个中文字符+(20100127_10_39_19).pdf
举例为:一二三四五六七八九十(20100127_10_39_19).pdf
IE版本为:6.0 SP2
我看了网上很多人讨论中文字符超过17个会无法下载的问题,例如http://wangxiaojs.javaeye.com/blog/292107提到:
引用
将文件名编码成ISO8859-1似乎是有效的解决方案
但是我将文件名编码成ISO8859-1后用IE6.0SP2下载默认的文件名仍然被截短,默认文件名如下
19).pdf
我现在对于文件名的处理方式是先进行UTF-8编码处理如下:
URLEncoder.encode(fileName, "UTF-8");
然后进行ISO8859-1编码处理:
fileName = new String( report.getBytes("gb2312"), "ISO8859-1" )
最后:
response.setHeader("Content-Disposition", "attachment; filename="+ fileName);
补充:
对不起,是我不够细心
原文件名是一二三四五六七八九十(20100127/10/39/19).pdf
IE8和FF会将\解析成_,所以可以正常输出
IE6比较笨,/前面的字符都丢了,所以输出不正确
喜欢技术、热爱生活。