问题背景:javaWeb项目导出文件名乱码。本地window7调试项目导出文件名正常,线上linux(centos7)环境导出文化名乱码。
依据百度经验做尝试:
**1)**使用String newStr = new String(“xxx”.getByte(“字符类型1”),“字符类型2”)并没有起到任何积极作用;后来得知,此方法的用途是这样的:java程序获取到一个字符串(各种可能的途径获取),发现此字符串是乱码的(可以直接控制台打出来或者debug看),然后可以用这个new String方法将乱码的字符串转为正常中文(前提是你要知道乱码字符串的编码方式,然后用newStr = new String(乱码字符串.getBytes(乱码字符串的编码字符集),java项目字符集),这个newStr就是正常显示的中文字符串。)所以我认为这个方法不能解决我的问题,因为我其中一个linux的系统字符集就是utf-8(en_US.UTF-8),而我的项目是utf-8的
**2)**使用URLEncode(“xxx”,"")与URLDecode(“xxx”,"")并没有起到任何积极作用;后来得知,此方法用于url交互,为了防止url中的中文信息乱码倒置信息丢失或错误,encode与decode要成对使用的,前端可以先encode用字符集c1编码,然后后端对应用decode用c1编码,当然前后端传输只是一个案例,此方法应当可以作为防止传输造成乱码的一种策略。所以我认为乱码问题是不能用encode与decode这两个方法解决的。
**3)**修改linux系统的字符集。
查百度知,最有可能是linux系统默认编码不是"UTF-8"导致的,使用locale命令查询linux默认字符集,发现不是"zh_CN.UTF-8"(大家注意zh_CN.UTF-8与en_US.UTF-8的差别,en_US.UTF-8我这里不行的)
第一种修改方式:
在tomcat的catalina.sh中加入export LC_ALL=“zh_CN.UTF-8”,然后重启tomcat服务器,竟然问题直接就解决了,中文名不乱码了。后来得知,这句话的作用是 将tomcat运行的linux系统环境编码临时修改为目标编码,其实这样就是妥妥得解决问题了,而且不用去改linux服务器本身得字符配置,这个配置只对tomcat有效而已。并不会影响到系统中其他应用。
第二种修改方式:
直接修改linux系统得默认字符集,即修改locale配置。配置的最终结果应当是这样的,locale命令列出来的变量,除了LC_ALL可以为空,其他都需要是"zh_CN.UTF-8"。如何配置查百度应该可以,我会再写一篇关于locale配置的经验。
完(Aronc 20210327)

java导出文件名乱码相关推荐

  1. java 导出word乱码问题,99%解决问题

    做了一个功能,火狐浏览器,支持Linux,导出人员准考证,配置的struts,导出内容成功,但是导出文件名乱码,各种方法转码都有用,还是乱码,可能是个人水平有限.  这是我的代码, 如果问题代码没必要 ...

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

    关于java文件下载文件名乱码问题解决方案 参考文章: (1)关于java文件下载文件名乱码问题解决方案 (2)https://www.cnblogs.com/zhaoyan001/p/9012750 ...

  3. java下载文件名乱码的解决方法

    java下载文件名乱码的解决方法 参考文章: (1)java下载文件名乱码的解决方法 (2)https://www.cnblogs.com/liyabin/p/7891073.html 备忘一下.

  4. PHP导出文件名乱码解决

    问题场景: 统计数据需要增加一个到处excel功能, 于是使用composer安装了phpspreadsheet组件,进行数据处理并导出.遇到ASCII命名的文件名时, 都是导出一切正常, 但是遇到中 ...

  5. java导出excel 乱码_java导出excel时出现文件名乱码解决方法

    java解决导出Excel时文件名乱码的方法示例:(推荐:java视频教程)String agent = request.getHeader("USER-AGENT").toLow ...

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

    JAVA文件下载时乱码有两种情况: 1,下载时中文文件名乱码 2,下载时因为路径中包含中文文件名乱码,提示找不到文件 解决方法见下面部分代码 response.setContentType(" ...

  7. CentOS7 Java应用文件名乱码问题解决(文件下载和创建文件导致的文件名乱码)

    场景描述 spirngboot 部署的Java应用在服务器上,一直都运行得很好. 最近突然发生了乱码问题,同事已通过启动参数 java -Dfile.encoding=utf-8 -jar test. ...

  8. 报表服务器导出报表文件名乱码,excel 导出文件名乱码

    因为经常要用到导出功能,之前因为文件名乱码,所以都用英文或是拼音缩写来代替,今天特意要接觉下这个问题.顺便记录下.望对小白有用. /** * 导出结算详情列表 * @return */ public ...

  9. java获取文件名乱码

    Java读linux系统文件文件名乱码的解决办法 1,问题描述 web应用想通过Java读取linux系统文件显示到web页面上,结果中文文件名出现乱码? 问题场景描述:当用户通过浏览器访问tomca ...

  10. java解压缩文件名乱码_解决JDKZipEntry压缩文件名乱码的两种方法

    当我们在创建java的项目过程中,有时候会遇到一些棘手的问题,就比如说:在JDk zipEntry压缩中文文件名出现乱码的问题.那么对于这个问题,我们应该怎样来解决呢?今天我们就一起来学习一下它的解决 ...

最新文章

  1. ui动效 unity_Unity - UIWidgets 2. 控件组合
  2. 可持久化线段树(静态)【学习笔记】
  3. 实现多个标签页之间通信的几种方法
  4. .NET Core 2.0终于发布了
  5. excel筛选排序从小到大_数据横向排序和筛选,Ctrl+F搭配通配符quot;*quot;,只需简单四步完成...
  6. SQL Server 分区表的创建方法与管理
  7. Ubuntu Server 上在安装Nginx时执行./confgiure后提示:C compiler cc is not found
  8. Java Annotation详解
  9. 前端学习(2812):前端小程序学习之小程序发展历史
  10. (数据库系统概论|王珊)第十章数据库恢复技术-第一、二节:事务的基本概念和数据库恢复概述
  11. 网站的安全登录认证设计
  12. Linux基础之常用命令篇
  13. pycharm专业版的破解
  14. php二维数组声明方式,php二维数组定义
  15. 使用Vite搭建基础项目
  16. 转:感想东莞,想想东莞为外来工做了什么?
  17. android获取短信中心号
  18. 机器人定位传感器之激光雷达
  19. GraphQL学习第三篇 -在Express中使用GraphQL
  20. python车牌识别系统开源代码_HyperLPR 基于keras-tensorflow的车牌识别

热门文章

  1. visio 2016插入origin 2020 导出的图片是黑色
  2. 华为手机一键解锁工具箱下载 | 华为手机解BL锁软件: 支持解锁bootloader,刷写recovery功能
  3. Java判断操作系统是32位还是64位
  4. 如何下载:卫星地图高清2018,谷歌地图高清卫星地图,最新Google卫星地图
  5. Centos7 Redis安装
  6. 专科程序员,学历可能会成为发展障碍
  7. 考研经验-东南大学软件学院软件工程(这些基础课和专业课的各种坑和复习技巧你应该知道)
  8. java中ascii码值_java中的ASCII码值
  9. android 爱加密 脱壳,简单尝试脱“爱加密”官网加固的DEX壳
  10. No.3PPT风格及搭配