最近在做excel导出功能
由于各个浏览器编码方式不同 导致中文文件名乱码
String Agent = request.getHeader("User-Agent");
if (null != Agent) {
Agent = Agent.toLowerCase();
if (Agent.indexOf("firefox") != -1) {
response.setHeader("content-disposition", String.format("attachment;filename*=utf-8'zh_cn'%s.xls",URLEncoder.encode(name, "utf-8")));
} else if (Agent.indexOf("msie") != -1) {
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(name,"utf-8"));
} else {
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(name,"utf-8"));
}
}
//乱码出现的原因 ie采用URLEncoder编码输出中文 opera采用filename safari采用iso-8859-1 chrome采用base64或iso-8859-1 firefox采用base64或iso-8859-1
本文探讨了在不同浏览器中使用Excel导出功能时遇到的中文文件名乱码问题。通过检测用户代理并针对Firefox、IE、Opera、Safari和Chrome等浏览器采用特定的编码方式,有效地解决了跨浏览器的文件名乱码难题。
2312

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



