java 文件名乱码_详解关于java文件下载文件名乱码问题解决方案

java 文件名乱码_详解关于java文件下载文件名乱码问题解决方案JAVA 文件下载时乱码有两种情况 1 下载时中文文件名乱码 2 下载时因为路径中包含中文文件名乱码 提示找不到文件解决方法见下面部分代码 response setContentTy multipart form data StringuserAg request getHeader User Agent StringoraFil meetingFile ge

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)如果第一种乱码类型,下载页面遇到以下的中文乱码问题

5b31e74529bda58ba9512d3a59db2575.png

用以下代码解决

73d9fc091c55db0b5618bbe0442f782f.png

(2)如果下载遇到第二种乱码问题,如图:

6e4af8c413e4bc8f0e4bea6889a5d22c.png

用以下代码解决:即首先确保tomcat ,eclipse等为utf-8编码

4504c4e9007b55fbd73b6ec53265c167.png

然后JAVA中这样与第一种对文件名编码分开,使它们分别编码,互不影响。

faf98c35e65ab7ff9743b83c8513827f.png

注意:以前目前测试可解决火狐与IE等浏览器下载时的编码问题,而针对WIN10自带的浏览器不时仍会出现乱码现象,谁要是有好的能兼容所有浏览器的方法希望能与本人分享,感激不尽。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178873.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:20
下一篇 2026年3月26日 下午4:20


相关推荐

  • Midjourney提示词编写技巧完全指南

    Midjourney提示词编写技巧完全指南

    2026年3月15日
    1
  • 智谱AI获杭州国资10亿融资,下一代GLM模型即将发布

    智谱AI获杭州国资10亿融资,下一代GLM模型即将发布

    2026年3月12日
    2
  • 大数据开发是干什么的(大数据开发是做什么的)

    据数联寻英发布《大数据人才报告》显示,目前全国的大数据人才仅46万,未来3-5年内大数据人才的缺口将高达150万,越来越多人加入到大数据培训,都希望在大数据培训机构中学习最前沿的知识,找一份不错的工作。大数据开发工程师主要负责的工作有以下内容:1.负责公司大数据平台的开发和维护,负责大数据平台持续集成相关工具平台的架构设计与产品开发等工作;2.主要从事网络日志的大数据分析工作,包括…

    2022年4月16日
    88
  • pycharm快速替换_pycharm代码追踪

    pycharm快速替换_pycharm代码追踪1.在ios中用commend+shift+R打开菜单windons系统可以试试將commend替换为control会出现这样的界面(如果你有提前选中单词的话,系统将默认被选中的单词是將被替换的单词(可以更改))2.在第二行输入需要保留的语句,然后按下回车即可替换我们会发现标记的地方发生了替换注:一定要注意自己要替换的是那些部分(那些文件(它是可以替换别的文件的语句的))!!!!千万不要替换错了(多了),很难改…

    2022年8月28日
    9
  • 服务器pci数据捕获和信号处理 感叹号,PCI数据捕获和信号处理控制器win7驱动

    服务器pci数据捕获和信号处理 感叹号,PCI数据捕获和信号处理控制器win7驱动这是PCI数据捕获和信号处理控制器win7驱动下载,有些电脑在安装了系统后会在设备管理器中出现PCI数据捕获和信号处理控制器黄色感叹号提示,此时需要安装“IntelTurboBoost”驱动软件。软件介绍有时候我们装完系统的时候,各种驱动都安装完毕了,然后发现系统属性里面的设备管理器其他设备—PCI数据捕获和信号处理器控制器上还是有个问号,此款驱动就是解决这个问题的。PCI数据捕获和信号处理…

    2022年6月1日
    198
  • Linux系统安装,教你安装一个属于自己的Linux系统

    Linux系统安装,教你安装一个属于自己的Linux系统一、Linux的简介1.Linux抽象解释肯定有人和我一样,很早就听说过Linux的这个词,但是又没接触过。然后随手百度一下看着满满的命令惊呆了,不知道从哪里开始学习。这种状况一直维持到我面试的时候,我不怕跟你们说,我拿着写着“熟悉Linux的系统”的简历去面试,其实当时的我都没有了解Linux的到底是什么!我相信大家肯定都用过的Windo…

    2022年6月2日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号