//调用此函数 对fileName针对不同浏览器采用字节回退重新编码后 将fileName返回
public String processFilename(HttpServletRequest request,String fileName) throws UnsupportedEncodingException {
//采用字节回退,解决文件名中文乱码问题
String userAgent = request.getHeader("User-Agent");
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) { //IE浏览器处理
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
} else { // 非IE浏览器的处理:
fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
}
return fileName;
}
解决IE、chrome、FireFox文件名的中文乱码问题
最新推荐文章于 2022-02-25 17:04:50 发布
本文介绍了一种处理文件名中文乱码问题的方法,通过字节回退编码确保在不同浏览器下(如IE和其他现代浏览器)文件名正确显示。文章详细展示了如何根据User-Agent判断浏览器类型,并采取相应的编码策略。
500

被折叠的 条评论
为什么被折叠?



