问题:
最近在部署项目的时候出现数据乱码的情况,经过一番查看项目都是用的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
原文地址:https://www.cnblogs.com/wlv1314/p/12150477.html
时间: 2024-10-13 02:09:56