首先感谢网上各路大仙提供的资料:(参考如下)
Java文件下载处理中文名(使用URLEncoder编码及空格变+解决);
解决attachment; filename含空格时显示不完全的问题;
1.一般中文乱码处理方式
采用URLEncoder.encode(fileName, "UTF-8")
处理中文名字;
但是这样的话,不是通用的,火狐浏览器就不行了。需要单独处理
2.火狐浏览器下载中文文件名的文件乱码及其解决
采用 new String(fileName.getBytes("GB2312"),"ISO-8859-1")
处理中文名字;
2.空格变+号
%20是空格在UTF-8下的编码;
只需要在URLEncoder.encode(fileName, "UTF-8")
替换+号为%20;
fileName = fileName.Replace("+", "%20"); //encode后替换 解决空格问题
3.文件名包含空格时文件名显示不全
我开始遇到这问题了,后来不知道怎么测试想截图的时候,加不加这个双引号包含都没问题;反正我还是加了,有备无患;
response.setHeader("Content-Disposition", "attachment;filename=\""+ filenamedisplay