真正的解決IDEA中Tomcat控制台亂碼的問題
解決方案一
網上看到一個真正的解決方案:
-
首先要分清是tomcat日志編碼,與idea的日志顯示控制台編碼
-
tomcat日志編碼:當在cmd中啟動Tomcat時,此時出現亂碼顯示的是Tomcat的日志(這屬於Tomcat編碼),可以通過在啟動Tomcat之前運行,
chcp 65001
來講Windows默認的GBK編碼改編成UTF-8編碼,這樣cmd中顯示的日志就不是亂碼了。(chcp 936
切換cmd中的編碼為GBK),此時記得在Tomcat配置中配置-Dfile.encoding=UTF-8
,即 -
IDEA中顯示編碼:Windows默認用的GBK,所以idea中顯示默認為GBK編碼,這時需要在IDEA中的help中的custom vm option添加
-Dfile.encoding=UTF-8
,強制為utf-8編碼顯示,截圖如下:注意點:
不要自己去改IDEA安裝目錄下的.vmoptions文件,我的問題是:我每次IDEA一提示更新我就更新,導致我的電腦中存在IDEA2020.1.3和IDEA2020.2.1兩個版本的安裝目錄,之前去改成了IDEA2020.1.3的安裝目錄下的.vmoptions文件,導致並沒有解決亂碼問題。
但是如果直接按照第3步在IDEA中設置那是沒有問題的,肯定是設置的是當前使用的IDEA安裝目錄下的
idea64.exe.vmoptions
,那么肯定能解決亂碼的問題。 -
【切忌】自己改tomcat的logging.properties 為GBk 會導致調試時get/post參數亂碼。
解決
解決方案補充
補充:
就是將Windows的編碼默認編碼設置為utf-8
,具體步驟如下圖:
1、按win鍵,輸入“區域與語言設置”
2、選擇管理語言設置
3、在彈出框中選擇更改系統區域設置
4、勾選Unicode UTF-8 並點擊確定和應用
5、重啟系統,驗證結果,查看系統編碼為chcp命令,65001即為utf-8編碼
這里的參考文章為:win10 配置系統默認utf-8編碼
另一參考文章為:IDEA亂碼Tomcat控制台亂碼輸出亂碼報文亂碼