今天用到文件下载中文名的问题, 翻阅各种资料
只要在HttpServletResponse 中的setHeader 的文件名称 使用ISO-8859-1 方式编码就可以了
response.addHeader("Content-Disposition", "attachment;filename="+new String(fileName.getBytes(),"ISO-8859-1"));
2014年5月28日
补充 IE使用utf-8编码
String userAgent=request.getHeader("user-agent");
//判断用户浏览器, 决策使用哪种编码
if (userAgent.contains("ie")) { //IE使用UTF-8
return URLEncoder.encode(fileName, "UTF-8");
}else{//其它浏览器使用标准码
return new String(fileName.getBytes(),"ISO-8859-1");
}
只要在HttpServletResponse 中的setHeader 的文件名称 使用ISO-8859-1 方式编码就可以了
response.addHeader("Content-Disposition", "attachment;filename="+new String(fileName.getBytes(),"ISO-8859-1"));
2014年5月28日
补充 IE使用utf-8编码
String userAgent=request.getHeader("user-agent");
//判断用户浏览器, 决策使用哪种编码
if (userAgent.contains("ie")) { //IE使用UTF-8
return URLEncoder.encode(fileName, "UTF-8");
}else{//其它浏览器使用标准码
return new String(fileName.getBytes(),"ISO-8859-1");
}