在Java的web开发中,文件下载功能的文件名文件名乱码问题是经常遇到的。


对于这个问题,不同的浏览器,解决的方法不太一样。


IE的话,通过URLEncoder对filename进行UTF8编码。


而其他的浏览器(firefox、chrome、safari、opera),则要通过字节转换成ISO8859-1了。


示例代码(通过测试):


if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {  
    filename = URLEncoder.encode(filename, "UTF-8");  
} else {  
    filename = new String(filename.getBytes("UTF-8"), "ISO8859-1");  
}  
原文链接:https://blog.csdn.net/lian_zhihui1984/article/details/6835976



欢迎留言