1、首先后台接收后,多文件名进行再编码

filePath = new String(filePath.getBytes(),"utf-8");//有没有这句话

2、注意设置浏览器,很重要

//浏览器设置
String userAgent = request.getHeader("User-Agent");
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {  //IE浏览器处理fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
} else {  // 非IE浏览器的处理:  fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
}
// 设置文件头:最后一个参数是设置下载文件名
response.setHeader("Content-Disposition", "attachment;fileName="+fileName);
// 设置文件ContentType类型,这样设置,会自动判断下载文件类型
response.setContentType("application/octet-stream;charset=utf-8");//流对拷
OutputStream os = response.getOutputStream();
int len = 0;
byte[] b = new byte[1024];
while ((len = is.read(b)) > 0) {os.write(b, 0, len);
}os.close();
is.close();

文件下载中文文件名乱码问题解决相关推荐

  1. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法

    Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 参考文章: (1)Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 (2)https://www.cnblog ...

  2. 解决文件下载在火狐浏览器出现中文文件名乱码的方法

    解决文件下载在火狐浏览器出现中文文件名乱码的方法 参考文章: (1)解决文件下载在火狐浏览器出现中文文件名乱码的方法 (2)https://www.cnblogs.com/zeng1994/p/739 ...

  3. java文件下载出现文件名乱码解决办法

    java文件下载出现文件名乱码解决办法 //IE.chrom.Firefox文件中文乱码问题public String processFileName(HttpServletRequest reque ...

  4. response setHeader 设置下载中文文件名乱码问题

    1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connecti ...

  5. response.setHeader()设置下载中文文件名乱码问题

    1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connecti ...

  6. 解决浏览器下载文件时中文文件名乱码的问题

    解决浏览器下载文件时中文文件名乱码的问题 很多时候我们需要在后台为前端提供文件下载的功能,但是当文件名中有中文时我们不能直接将文件名返回,需要对中文的文件名进行处理后再返回. 一.文件下载contro ...

  7. 压缩文件打开其中“中文”文件名乱码

    压缩文件打开其中"中文"文件名乱码 只因为压缩文件"名称加密"的锅 解决办法 1.打开压缩文件 2.选择"选项/名称加密"在其中选择&quo ...

  8. 解决文件上传时,服务器中中文文件名乱码问题

    解决文件上传时,服务器中中文文件名乱码问题 参考文章: (1)解决文件上传时,服务器中中文文件名乱码问题 (2)https://www.cnblogs.com/yang-xiansen/p/11167 ...

  9. php excel中文名称乱码,phpexcel导出中文文件名乱码的解决办法

    使用phpexcel类库导出excel文件,文件名为中文时,在chrome浏览器下导出正常,在IE内核浏览器下导出文件名显示乱码,解决办法就是通过iconv函数转换编码,从utf-8转为gb2312, ...

最新文章

  1. 文件上传的注意细节(PHP)
  2. zabbix 2.0.6监控cisco交换机 2950 2960s 3560G
  3. C++ vector 遍历修改汇总
  4. oracle导出建表主键,oracle主键自动生成 配合hibernate的生成策略详解
  5. java cellvalue_Java Cell.getErrorCellValue方法代码示例
  6. linux python开发环境sql数据迁移到mysql_linux环境下python怎样操作mysql数据库
  7. 使用 Subversion (SVN) 的方式来访问 Github
  8. org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
  9. linux如何停止死循环脚本,Linux Shell教程(一)
  10. python培训多久能入职_Python学到什么程度可以面试工作?
  11. Tomcat绑定jre
  12. 最短路径(二维矩阵)
  13. 短信开发系列(二):GSM手机短信开发之短信解码
  14. C++算法学习(力扣:328. 奇偶链表)
  15. C#.NET中数组、ArrayList和List三者的区别
  16. iOS TableView性能优化
  17. 学习数据库系统概论这一篇就够了
  18. 哈夫曼树的构造和哈夫曼编码实现详细讲解(含例题详细讲解)
  19. 取消pycharm双击shift出现搜索框,但新版找不到ide.suppress.double.click.handler的问题解决
  20. Win10系统“此电脑”误删了,或者无缘无故消失了,怎么找回?

热门文章

  1. 实现全选和取消全选功能
  2. 认识Linux系统结构
  3. 基于java实现下载excel
  4. 区分网络管理员和网络工程师
  5. Java 20 超神版正式发布,展示了 Java 技术的最新进展
  6. Linux 的多进程
  7. 数据库的数据存储文件
  8. 如何实现根据照片获取地理位置及如何防御照片泄漏地理位置
  9. 国产FPGA芯片,机遇与挑战并存
  10. 梯形波的傅里叶级数分解