-
2021-02-28 12:02:36
java下载文件时文件名出现乱码的解决办法
发布时间:2020-06-19 10:31:47
来源:亿速云
阅读:147
作者:Leah
这篇文章给大家分享的是有关java下载文件时文件名出现乱码的解决办法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获。String userAgent = request.getHeader("User-Agent");
String formFileName = file.getFileName();
// 针对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("multipart/form-data");
response.setCharacterEncoding("UTF-8");
new String(byte[], decode)实际是使用decode指定的编码来将byte[]解析成字符串。
以上就是java下载文件时文件名出现乱码的解决办法,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注亿速云行业资讯,感谢各位的阅读。
更多相关内容 -
Java下载文件时文件名乱码问题解决办法
2020-09-08 07:51:47我最近在开发时遇到了文件另存为时文件名出现乱码,在火狐上正常的文件名,在IE中又出现乱码问题,然后好不容易在IE下调试好了文件名乱码问题,在火狐下又出现乱码,最后终于感觉这样是能解决了。具体如下: -
浏览器下载文件时文件名中文乱码问题
2021-04-19 22:16:57问题描述: 最近做项目遇到下载附件...3.浏览器根据服务器返回的Header信息创建相应文件,此时文件名并没有出现中文乱码问题 ,到了选择附件下载位置的窗口 ,这时名称回显出现乱码 解决: 对文件名设置编码格式 至此问题描述:
最近做项目遇到下载附件名称乱码问题 ,只要名称涉及中文 ,附件名称会乱码为 _______.pdf (或者其他类型附件)问题分析:
浏览器 --> 服务器 --> 浏览器
1.浏览器端点击要下载的文件(包含中文字符)
2.服务器获取浏览器传来的参数,并在服务器端查找目标文件,找到后通过IO流写给浏览器端
3.浏览器根据服务器返回的Header信息创建相应文件,此时文件名并没有出现中文乱码问题 ,到了选择附件下载位置的窗口 ,这时名称回显出现乱码解决:
对文件名设置编码格式
至此问题成功解决 。知识延伸:
如果你想对括号中的参数进行详细了解 ,可以参考文章 下载的文件名总乱码 ?你该去读一下 RFC 文档了如果文章对你有帮助的话 ,欢迎点个赞 ,说不定下篇文章就是你想看到的 。
-
关于java文件下载文件名出现乱码的问题的解决方法
2021-03-16 17:58:41下载JAVA文件时有两种情况下出现乱码:1,下载时中文文件名乱码2,由于该路径在下载过程中包含中文文件名乱码,因此提示找不到该文件解决方案显示在下面的代码中response.setContentType("multipart/form-data");...下载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);
}
(1)如果是第一种乱码,则下载页面遇到以下中文乱码问题
使用以下代码来解决
(2)如果下载遇到第二种乱码问题下载下来的文件名乱码下载下来的文件名乱码,如图所示:
使用以下代码解决: 首先,确保tomcat,eclipse等以UTF-8编码
然后在Java中,文件名编码与第一个分开,因此它们被分别编码而不会互相影响.
注意: 先前的测试可以解决下载Firefox和IE等浏览器时的编码问题,并且WIN10随附的浏览器仍会时不时出现乱码. 谢谢您与我分享.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-165105-1.html
-
java文件下载中文文件名出现乱码如何解决
2021-02-12 21:10:20java文件下载中文文件名出现乱码如何解决发布时间:2020-05-06 14:03:04来源:亿速云阅读:685作者:...JAVA文件下载时中文文件名乱码有两种情况:1、下载时中文文件名乱码;2、下载时因为路径中包含中文文件名乱码...java文件下载中文文件名出现乱码如何解决
发布时间:2020-05-06 14:03:04
来源:亿速云
阅读:685
作者:小新
今天小编给大家分享的是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文件下载中文文件名出现乱码如何解决就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。
-
下载文件个别浏览器文件名乱码解决办法
2020-12-11 05:10:12代码如下: if (context.Request.UserAgent.ToLower().IndexOf(“msie”, System.StringComparison.Ordinal) > -1)//IE浏览器 { context.Response.AddHeader(“content-disposition”, “filename=” + ... -
文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf
2021-10-04 06:14:24文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf -
服务器下载word乱码解决方案(文件名乱码、内容乱码)
2020-08-19 17:12:28往往开发环境和生产环境在环境部署时会遇到很多奇怪的问题,此次word文档下载就被卡住了,通过一番努力终于找到了原因,分享给大家。上传文件txt格式,内有方法详细的代码注释及原因说明,jar包比较常见,大家自行... -
CentOS 下中文文件名显示乱码问题
2020-09-15 11:32:07在windows上使用ftp上传文件到Linux上,中文名称在Linux系统中显示为乱码,怎么解决呢?今天小编抽空给大家分享CentOS 下中文文件名显示乱码问题的解决方法,需要的的朋友参考下 -
在FireFox/IE下Response中文文件名乱码问题解决方案
2020-10-27 16:02:00只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所... -
Mac操作指南:如何解决下载文件名出现乱码问题?
2021-10-18 08:52:16在Mac电脑的使用过程中,偶尔会出现各种各样的问题,有些用户会遇到下载文件是乱码的问题,为什么会出现乱码?如何解决。下面我们分享出现乱码的原因及解决方法。 乱码原因: 缺少服务造成的如何解决: 1、在“启动... -
JavaWeb下载文件时文件名乱码
2021-07-13 22:02:32Web开发下载文件功能(代码如下),文件名如果带有中文,经常会出现乱码现象,需要进行编码。 String fileName = "测试文件.doc"; try { HttpServletResponse response = (HttpServletResponse) ... -
C#下载文件时,文件名出现乱码解决办法
2018-09-21 10:02:50对于经常碰到下载文件时,如果文件名称包含特殊符号,如 $-_.+!*'(),@=&, 如果不单独处理,则会出现乱码。 因此对于解决乱码的问题, 直接贴出代码: #region 特殊符号乱码处理 public static string ... -
【文件下载】及解决文件名中文乱码问题
2019-08-02 11:21:28NULL 博文链接:https://gaojunwei.iteye.com/blog/1958714 -
Java实现文件下载并解决中文文件名乱码
2014-09-26 13:11:10Java实现文件下载并解决中文文件名乱码 -
解决python3中解压zip文件是文件名乱码的问题
2020-09-20 16:49:36下面小编就为大家分享一篇解决python3中解压zip文件是文件名乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
php做下载文件的实现代码及文件名中乱码解决方法
2020-12-18 10:13:12最近有人问我做下载文件的方法,对于php方法如下: 复制代码 代码如下: <?... header(“Content-Disposition: attachment;... 如何在PHP下载文件名中解决乱码 通过把Content-Type设置为application/octet-stre -
【电脑操作】解压文件时文件名出现乱码问题解决
2019-05-13 17:05:51前两天在下载文件的时候,发现以.zip为后缀的压缩文件解压之后出现文件名字乱码(文件里面内容正常)的问题,从网上找了很多,并没有找到解决方案,但是让我想到了问题的原因,在于编码格式的不一致,最终解决方案:... -
jsch-0.1.53 使用sftp协议上传下载文件名中文乱码解决办法
2016-08-23 15:00:36jsch-0.1.53 不支持修改编码格式,sftp.setFilenameEncoding("GBK");这样修改是不起作用的,所以必须修改源码。此处是修改源码后重新导出的jar包。 -
Java文件下载时文件名乱码问题
2021-02-26 17:58:10在Java Web项目开发过程中,经常会遇到中文乱码问题,其中比较典型的是文件下载时文件名乱码,而解决乱码问题最正确的解决办法是:采用一致的编码,如果编码都一致了,肯定不会出现乱码。通常在大多数项目中都采用... -
解决PHP文件下载时中文文件名乱码的问题
2021-03-23 16:46:31本节内容:php文件下载中文文件名乱码。在php编程中,通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件来下载。另外,还可以使用Content-Disposition设置下载的文件名。>>>... -
Java中FTPClient上传中文目录、中文文件名乱码问题解决方法
2020-09-03 17:51:08主要介绍了Java中FTPClient上传中文目录、中文文件名乱码问题解决方法,本文使用apache-commons-net工具包时遇到这个问题,解决方法很简单,需要的朋友可以参考下 -
java下载文件名乱码解决方法介绍
2021-03-09 05:08:11java Web开发下载文件功能(代码如下),文件名如果带有中文,经常会出现乱码现象,需要进行编码。(推荐:java视频教程)String fileName = "测试文件.doc";try { HttpServletResponse response = (HttpServletResponse... -
解决JMeter上传包含中文文件名乱码ApacheJMeter_http.jar
2021-02-24 11:24:31修改了jar源代码,解决multipart/form-data上传包含中文文件名乱码问题,覆盖apache-jmeter-4.0\lib\ext目录下ApacheJMeter_http.jar即可。 -
Teleport Ultra 网页文件名乱码修复助手
2020-03-08 23:17:341.软件仅对Teleport Ultra 软件 下载网页中 “XX.html” 网页文件名中 “XX” 的乱码进行修复,此处XX为中文字符; 2.软件需要在WIN7及以上系统使用; 3.软件运行依托 .NET 4.5.1; 4.软件仅供技术交流使用,并未... -
linux下的文件名乱码,转为正常
2018-08-29 10:09:42linux下的文件名乱码,转为正常,linux下的文件名乱码,转为正常,linux下的文件名乱码,转为正常