java下载文件时文件名乱码怎么解决
java下载文件时文件名乱码怎么解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在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下载文件时文件名乱码的解决方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。