問題:
最近在部署項(xiàng)目的時(shí)候出現(xiàn)數(shù)據(jù)亂碼的情況,經(jīng)過一番查看項(xiàng)目都是用的UTF-8編碼格式,數(shù)據(jù)也是,但是經(jīng)過調(diào)用接口傳給對(duì)方就亂碼了。
由于是部署在Windows環(huán)境下,Windows默認(rèn)編碼GBK,這就導(dǎo)致了jvm運(yùn)行時(shí)編碼不一致的問題,修改也很容易。
解決辦法:
Linux環(huán)境下如果使用的UTF-8編碼,可以不用修改,因?yàn)長(zhǎng)inux默認(rèn)為UTF-8
war包部署在Tomcat
修改jvm編碼
Linux環(huán)境
在catalina.sh配置
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=utf-8"
由于Windows環(huán)境下默認(rèn)的編碼格式為GBK,所以要修改Tomcat運(yùn)行時(shí)編碼格式。
Windows環(huán)境
在catalina.bat配置
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
如果是jar包部署,只需要在啟動(dòng)命令加入jvm參數(shù)即可。
jar包部署
啟動(dòng)命令加入jvm參數(shù)
java -Dfile.encoding=UTF-8 -jar xxx.jar
總結(jié)
以上所述是小編給大家介紹的修改Tomcat運(yùn)行時(shí)jvm編碼問題,希望對(duì)大家有所幫助!