最近在做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