ISO-8859-1,在使用HTTP网络协议进行传输的时候,所有的信息都是按照ISO-8859-1编码方式进行编码的,浏览器默认的也是按照ISO-8859-1来解码。
//浏览器设置
try {
String userAgent = request.getHeader("User-Agent");
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
//IE浏览器处理
fileName = URLEncoder.encode(fileName, "UTF-8");
} else {
// 非IE浏览器的处理:
fileName = new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
}
// 设置文件头:最后一个参数是设置下载文件名
response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
// 设置文件ContentType类型,这样设置,会自动判断下载文件类型