Java: IE & Firefox下载文件中文乱码的兼容代码

需要使用两种不同编码方式来处理,在Firefox 11和IE 8下测试通过:


HttpServletRequest request = ServletActionContext.getRequest();
String agent = request.getHeader("User-Agent");
boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1);

if (isMSIE) {
    filename= URLEncoder.encode(filename, "UTF-8");
} else {
    filename= new String(filename.getBytes("UTF-8"), "ISO-8859-1");
}
response.setHeader("Content-Disposition", "attachment; filename=" + filename);

posted @ 2012-04-20 19:17  秋裤大叔  阅读(749)  评论(0编辑  收藏  举报