java解决下载文件名乱码问题:
// 获取浏览器版信息
String userAgent = request.getHeader("user-agent");
// 获取文件名
String fileName = "文件名.jpg";
// 处理文件名乱码
getFileName(userAgent, fileName);
// 网上一搜一大把工具类
public static String getFileName(String agent, String filename) throws UnsupportedEncodingException {
if (agent.contains("MSIE")) {
// IE浏览器
filename = URLEncoder.encode(filename, "utf-8");
filename = filename.replace("+", " ");
} else if (agent.contains("Firefox")) {
// 火狐浏览器
BASE64Encoder base64Encoder = new BASE64Encoder();
filename = "=?utf-8?B?" + base64Encoder.encode(filename.getBytes("utf-8")) + "?=";
} else {
// 其它浏览器
filename = URLEncoder.encode(filename, "utf-8");
}
return filename;
}