Tomcat设定运行jvm的编码

来源:互联网 发布:java new object 编辑:程序博客网 时间:2024/05/22 07:22

查看jvm编码

可以通过代码确认当前jvm运行的编码

System.getProperty("file.encoding")
  • 1
  • 1

此参数是在jvm启动的时候就已经设置完成。如果没有手动设置file.encoding,会根据当前系统的编码指定。 
如果在Windows下,file.encoding=”GBK”, 
如果在Linux下,file.encoding=”UTF-8”。 
注意:在Tomcat启动完成后,在程序中通过设置system property的方式是没有效果的,原因是jvm启动时读取file.encoding并cache,后续只使用启动时读取的编码。

修改jvm编码

Linux环境

在catalina.sh配置

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

Windows环境

在catalina.bat配置

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

结论

为了保持项目在不同的环境下运行正常,不出编码的问题,Tomcat启动的时候必须指定编码,设定的编码必须与开发的时候设置的编码一致。