核型代码如下:
String fn = "中文文件名文件.doc";
String userAgent = request.getHeader("User-Agent").toLowerCase();
//Java下载文件时IE浏览器出现文件名乱码
// 针对IE或者以IE为内核的浏览器:
if (userAgent.contains("msie") || userAgent.contains("trident") ) {
fn = java.net.URLEncoder.encode(fn, "UTF-8");
} else {
// 非IE浏览器的处理:
fn = new String(fn.getBytes("UTF-8"), "ISO-8859-1");
}
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=\"" + fn + "\"");