最近在部署项目的时候出现数据乱码的情况,经过一番查看项目都是用的UTF-8编码格式,数据也是,但是经过调用接口传给对方就乱码了。

由于是部署在Windows环境下,Windows默认编码GBK,这就导致了jvm运行时编码不一致的问题,修改也很容易。

解决办法:

Linux环境下如果使用的UTF-8编码,可以不用修改,因为Linux默认为UTF-8

war包部署在Tomcat

修改jvm编码

Linux环境

在catalina.sh配置

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=utf-8"

由于Windows环境下默认的编码格式为GBK,所以要修改Tomcat运行时编码格式。

Windows环境

在catalina.bat配置

set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8

如果是jar包部署,只需要在启动命令加入jvm参数即可。

jar包部署

启动命令加入jvm参数

java -Dfile.encoding=UTF-8 -jar xxx.jar

相关文章:

  • 2022-02-16
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
  • 2022-01-11
猜你喜欢
  • 2023-03-22
  • 2021-04-13
  • 2021-08-15
  • 2021-05-25
  • 2021-06-09
  • 2021-10-12
相关资源
相似解决方案