前段时间遇到一个很奇怪的问题,同一个项目war包,在不同的服务器环境中,只有一个环境出现乱码问题,焦头烂额好几天。现在将问题及踩过的坑记录下,希望能帮助到其他人。

首先各环境服务部署的代码是相同的,不在同一个服务器上,

如 本地dev :localhost:8080

测试test:192.168.1.100:8080

uat:x.x.x.200:8080

正式:b.b.b.100:8080

项目数据从mq中取出 ,解析后存储。

数据写入mq代码如下:

压缩文件base64解析中文乱码问题

mq中取数据代码如下:

压缩文件base64解析中文乱码问题


测试环境代码运行至log.info("获取到的消息:"+value);处,打印日志中文乱码,其他环境均OK.

检查服务器编码格式 都修改为utf-8,重启后问题依旧。

然后怀疑mq环境有问题,重新装了mq后问题还是,故又排除mq问题。

最后增加如下代码

/**
 * 设置压缩编码,解决中文文件名乱码问题
 */
private static final String encoding = System.getProperty("sun.jnu.encoding");

static {
   /**
    * 解压依据的编码是sun.zip.encoding 所以需要设置 解压编码
    */
   System.setProperty("sun.zip.encoding", encoding);
}
后运行,乱码问题解决。


相关文章:

  • 2022-12-23
  • 2022-01-03
  • 2022-02-05
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
  • 2021-11-18
猜你喜欢
  • 2022-12-23
  • 2022-02-05
  • 2021-05-17
  • 2021-09-28
  • 2021-11-25
  • 2022-01-26
相关资源
相似解决方案