工作中总会遇到中文乱码问题,以导出文件,文件名称是中文的话,下载下来的文件名称会乱码问题,总结了几种解决文件名乱码的写法,仅供参考。

首先定义一个汉语字符串

String zhName = "错误码模板";

一、java.net.URLEncoder.encode(zhName, "UTF-8");

这种写法 在谷歌浏览器 、 IE浏览器上,表示很好用。直接解决掉了乱码问题。

但是在火狐浏览器上,导出的文件名没有解码,如下图。

二、new String(zhName.getBytes("UTF-8"),"iso-8859-1");

第二种写法是实例化String,修改编码格式。

经试验,谷歌浏览器,火狐浏览器,都好用。但是IE浏览器又乱码了。

此时有些凌乱了,如何同时兼容三个浏览器呢。接下来上大招。

三、

同时兼容chrome Firefox IE 三个浏览器写法
String zhName = "错误码模板";
String header = request.getHeader("User-Agent").toUpperCase();
if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {
zhName = URLEncoder.encode(zhName, "utf-8");
zhName = zhName.replace("+", "%20"); //IE下载文件名空格变+号问题
} else {
zhName = new String(zhName.getBytes(), "ISO8859-1");
}
response.setHeader("Content-Disposition", "attachment;filename="+zhName+ ".txt");

以上,哈哈完美兼容三个浏览器。问题解决。

转载于:https://www.cnblogs.com/shiyuetaozi/p/7521623.html

java解决中文乱码的几种写法相关推荐

  1. java button中文乱码_java解决中文乱码的几种写法

    工作中总会遇到中文乱码问题,以导出文件,文件名称是中文的话,下载下来的文件名称会乱码问题,总结了几种解决文件名乱码的写法,仅供参考. 首先定义一个汉语字符串 String zhName = " ...

  2. cocos2dx java 乱码_[cocos2d-x] --- 完美解决中文乱码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一 介绍 最近由于各种各样的原因,好长时间没有学习cocos2d-x了.突然有种害怕的感觉,这样下去,以前学的关于cocos2d-x的一点皮毛会彻底忘记的 ...

  3. java zip解压 中文_java解压ZIP 解决中文乱码 (GBK和UTF-8)

    java解压ZIP 解决中文乱码 (GBK和UTF-8) 工具使用 : zip4j GitHub : zip4j 版本 : 2.2.8 Maven : net.lingala.zip4j zip4j ...

  4. java 过滤器 中文_java中Filter过滤器解决中文乱码办法

    java中Filter过滤器解决中文乱码办法 发布时间:2020-04-07 10:19:09 来源:亿速云 阅读:16 作者:小新 这篇文章主要为大家详细介绍了java中Filter过滤器解决中文乱 ...

  5. java txt中文乱码,JAVA读取TXT文件 可解决中文乱码问题

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  6. java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别

    java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...

  7. java解压多目录Zip文件(解决中文乱码问题)--转载

    原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.F ...

  8. Java 按行读写文件(解决中文乱码)

    import java.io.*;public class EmployeeTest{EmployeeTest(){}// 按行读取文件public void readFile01(){try {Fi ...

  9. JAVA之NIO按行读写大文件,完美解决中文乱码问题

    JAVA之NIO按行读写大文件,完美解决中文乱码问题 参考文章: (1)JAVA之NIO按行读写大文件,完美解决中文乱码问题 (2)https://www.cnblogs.com/jpfss/p/89 ...

  10. java读取.properties文件及解决中文乱码问题

    java读取.properties文件及解决中文乱码问题 参考文章: (1)java读取.properties文件及解决中文乱码问题 (2)https://www.cnblogs.com/helloq ...

最新文章

  1. 2021年中国工业互联网安全大赛核能行业赛道writeup之日志分析
  2. 【freemaker】之FreeMakerUtil工具类
  3. iOS之CALayer的CAEmitterLayer实现“红包雨”效果
  4. CENTOS7 Python3.7安装pip模块以及pip使用
  5. Unity SRP自定义渲染管线 -- 3.Lights
  6. 官网下载mysql实例数据库
  7. oracle开放视图,Oracle视图
  8. matlab程序 地震 相干噪声_地震台站台基噪声功率谱概率密度函数Matlab实现
  9. 《机器学习系统设计:Python语言实现》一2.2 IPython控制台
  10. 本地windows下新建kafka生产消费数据
  11. python基础之psutil模块和发邮件(smtplib和yagmail)
  12. Android AR场景拍照技术实现(有关键源代码)
  13. redis过期策略有哪些?内存淘汰机制有哪些?
  14. Carsim 2019 安装后打不开 未响应 acquiring licence information
  15. 互联网突破和 SD-WAN
  16. 人工智能时代,如何让机器狗听懂你说的话?
  17. arcmap坐标点生成线和面
  18. JavaScript 中字符串截取 (+实现)
  19. 撕不撕?如何撕?跟谁撕?权力游戏致胜手册
  20. 财务审计工作内容有哪些

热门文章

  1. javaweb环境的配置 以及tomcat的安装
  2. git SSH 公钥拉取代码(使用及配置)
  3. 2.5.PHP7.1 狐教程-【数据类型】
  4. Redis 常见问题 与 常见错误
  5. CSS3 transform 旋转、偏移、缩放属性,CSS3 filter 滤镜,实现图像特效
  6. C#:在u3d中操作sqlite的数据库
  7. 需求分析与系统设计读书笔记之五
  8. JavaScript Number 对象
  9. Spark机器学习(12):神经网络算法
  10. 二分法和牛顿迭代实现开根号函数:OC的实现