1. 程式人生 > >Tomcat設定執行jvm的編碼

Tomcat設定執行jvm的編碼

檢視jvm編碼

可以通過程式碼確認當前jvm執行的編碼

System.getProperty("file.encoding")

此引數是在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"

Windows環境

在catalina.bat配置

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

結論

為了保持專案在不同的環境下執行正常,不出編碼的問題,Tomcat啟動的時候必須指定編碼,設定的編碼必須與開發的時候設定的編碼一致。