热门IT资讯网

java文件下载中文文件名出现乱码如何解决

发表于:2024-11-28 作者:热门IT资讯网编辑
编辑最后更新 2024年11月28日,今天小编给大家分享的是java文件下载中文文件名出现乱码如何解决,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。JAVA文件下载时中文文件名乱码

今天小编给大家分享的是java文件下载中文文件名出现乱码如何解决,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

JAVA文件下载时中文文件名乱码有两种情况:

1、下载时中文文件名乱码;

2、下载时因为路径中包含中文文件名乱码,提示找不到文件。

解决方法如下:

response.setContentType("multipart/form-data");            String userAgent = request.getHeader("User-Agent");            String oraFileName = meetingFile.getFileName();            String formFileName=oraFileName;                          // 针对IE或者以IE为内核的浏览器:            if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {                formFileName = java.net.URLEncoder.encode(formFileName, "UTF-8");            } else {                // 非IE浏览器的处理:                formFileName = new String(formFileName.getBytes("UTF-8"), "ISO-8859-1");            }            response.setHeader("Content-disposition",                    String.format("attachment; filename=\"%s\"", formFileName));            response.setContentType("application/vnd.ms-excel;charset=utf-8");            response.setCharacterEncoding("UTF-8");                                           ServletOutputStream out;            // 通过文件路径获得File对象            File file = null;            if (meetingFile != null) {                file = new File(path + "upload/"+oraFileName);            }

关于java文件下载中文文件名出现乱码如何解决就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

0