1?可以通過代碼確認當前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
原文:https://blog.csdn.net/xinluke/article/details/51490048