使用HttpServletResponse方式下载 文件 中文名

今天用到文件下载中文名的问题, 翻阅各种资料
只要在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");
}

你可能感兴趣的:(response)