首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

struts2文件下载时,中文文件名乱码是咋回事

2012-01-18 
struts2文件下载时,中文文件名乱码是怎么回事?struts2下载一个以中文为文件名的文件,下载后文件名乱码是怎

struts2文件下载时,中文文件名乱码是怎么回事?
struts2下载一个以中文为文件名的文件,下载后文件名乱码是怎么回事?

Java code
// 解决方法如下:downFileName = new String(downFileName.getBytes(), "ISO8859-1");   

请问为什么会出现乱码?不是很了解,麻烦解释下,谢谢。。。

[解决办法]
当在网络中传输时,因为setHeader方法中的字符只能按ISO8859-1传输,所以这时候就又把Unicode字符转换成了 ISO8859-1的编码传到浏览器(就是把刚才高位补的零全去掉),这时浏览器接收到的ISO8859-1码的字符因为符合GB2312编码,所以就可 以显示中文了。
[解决办法]
当时我也遇到类似的问题,觉的是struts2的bug
[解决办法]
同1楼,字符类传输使用 iso8859_1

在后台接收参数时使用以下方法解决:
Java code
String name = request.getParameter("name");name = new String(name.getBytes("iso8859_1"),"GB2312"); 

热点排行