java文件下载的中文文件名乱码问题的解决

在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");
}


发布了72 篇原创文章 · 获赞 23 · 访问量 29万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章