//解决火狐浏览器文件名中文乱码问题
String agent = request.getHeader("User-Agent");
//根据不同浏览器进行不同的编码
String realFilename = "";
if (agent.contains("MSIE")) {
// IE浏览器
realFilename = URLEncoder.encode(fileName, "utf-8");
realFilename = realFilename.replace("+", " ");
} else if (agent.contains("Firefox")) {
// 火狐浏览器,此处使用java8
realFilename = "=?utf-8?B?" + Base64.getEncoder().encodeToString(fileName.getBytes("utf-8")) + "?=";
} else {
// 其它浏览器
realFilename = URLEncoder.encode(fileName, "utf-8");
}
本文介绍了一种解决火狐浏览器下载文件时文件名出现乱码的问题的方法,通过判断用户代理并采用相应的编码方式,确保不同浏览器下文件名的正确显示。
985

被折叠的 条评论
为什么被折叠?



