問題: 最近在部署項目的時候出現數據亂碼的情況,經過一番查看項目都是用的UTF-8編碼格式,數據也是,但是經過調用介面傳給對方就亂碼了。 由於是部署在Windows環境下,Windows預設編碼GBK,這就導致了jvm運行時編碼不一致的問題,修改也很容易。 解決辦法: Linux環境下如果使用的UT ...
問題:
最近在部署項目的時候出現數據亂碼的情況,經過一番查看項目都是用的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