java下载文件名中文乱码解决

互联网 19-11-22

在Java的web开发中,文件下载功能的文件名文件名乱码问题是经常遇到的。

对于这个问题,不同的浏览器,解决的方法不太一样。

IE的话,通过URLEncoder对filename进行UTF8编码。

而其他的浏览器(firefox、chrome、safari、opera),则要通过字节转换成ISO8859-1了。

java下载文件名中文乱码解决:

    response.setCharacterEncoding("utf-8");       response.setContentType("application/msword");       String  fileName="哈哈哈哈.doc";        if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {           fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器         } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {          fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器         }else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) {          fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌       }      response.setHeader("Content-Disposition", "attachment; filename=" + fileName);

更多java知识请关注java基础教程。

以上就是java下载文件名中文乱码解决的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:2020全新Java面试题——容器(三)

相关资讯