大家常用的系统文件编码有;ANST、Unicode、Unicode big endian、UTF-8 四种。编码不一样,存储方式不一样 。 不同的编码只能显示特定的内容,一般在复制保存网页文件是会遇到这种情况。
一、火狐下载中文文件名乱码
导致乱码的写法:
response.addHeader(“Content-Disposition”, “attachment;filename=中文文件名.xml”,”utf-8”));
修正后的写法
response.addHeader(“Content-Disposition”, “attachment;filename*=utf-8’zh_cn’中文文件名.xml”,”utf-8”));
不过第二种写法并不兼容ie8,下载后的文件名为:写了该代码的JSP页面的名称,在IE11上测试没有问题。
二、下载文件默认编码修改
Java代码
String resultStr=”返回结果”;
byte[] bytes = resultStr.getBytes(“utf-8”); //字符串转Byte数组,加编码格式。