項目改架構(gòu)需要換IDE,換成Idea之后控制臺總有亂碼,解決之后記錄一下。
1、文件編碼
首先,確定代碼使用的編碼,一般都是UTF-8。
然后Idea->File->Settings->Editor->File Encodings 設置中,三個編碼都設置成UTF-8。
File Encoding
2、容器相關(guān)的編碼
項目是用Tomcat做容器,在Tomcat的啟動參數(shù) VM options 中加上:“-Dfile.encoding=UTF-8”。
Tomcat編碼設置
至此大部分人的問題應該都可以解決。
3、IDE的默認編碼
在IDEA的安裝目錄,bin文件夾中有兩個配置文件“idea.exe.vmoptions”和“idea64.exe.vmoptions”,這兩個是Idea32位和64位的啟動器配置,你用多少位的啟動器就修改哪個文件。在其中加上“-Dfile.encoding=UTF-8”,配置IDE的默認編碼。
idea64.exe.vmoptions
更改IDE默認編碼后,需要重啟Idea。到這里,絕大部分人的問題都應該解決了。
4、操作系統(tǒng)編碼
改了如上配置之后,可能有人會發(fā)現(xiàn),控制臺中原本正常輸出的漢字變成了亂碼。這是因為在標題3步驟中加上的“-Dfile.encoding=UTF-8”配置強改了IDE的編碼,與操作系統(tǒng)的默認編碼不同所導致的。如果需要顯示正常的話,需要將操作系統(tǒng)的編碼活動頁改為UTF-8,這一步要自行斟酌是否更改。
GBK編碼
在cmd中輸入 chcp 65001 只能將當前的CMD窗口的編碼改為UTF-8,真正全局改掉編碼需要寫注冊表。
Windows Registry Editor Version 5.00 //系統(tǒng)編碼轉(zhuǎn)為UTF-8
[HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe]
"CodePage"=dowrd:0000fde9
Windows Registry Editor Version 5.00 //系統(tǒng)編碼轉(zhuǎn)為GBK
[HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe]
"CodePage"=dowrd:000003a8
UTF-8編碼
更改系統(tǒng)編碼后需要重啟電腦,再打開Idea控制臺中文編碼顯示正常。
5、后記
編碼一直都是一個頭疼的問題,我們在解決的時候應該分析原因,并根據(jù)自己遇到的情況對癥下藥,而不是病急亂投醫(yī),搜到一個方法就嘗試。