項(xiàng)目改架構(gòu)需要換IDE智润,換成Idea之后控制臺總有亂碼,解決之后記錄一下未辆。
1窟绷、文件編碼
首先,確定代碼使用的編碼咐柜,一般都是UTF-8兼蜈。
然后Idea->File->Settings->Editor->File Encodings 設(shè)置中,三個編碼都設(shè)置成UTF-8拙友。
2为狸、容器相關(guān)的編碼
項(xiàng)目是用Tomcat做容器,在Tomcat的啟動參數(shù) VM options 中加上:“-Dfile.encoding=UTF-8”遗契。
至此大部分人的問題應(yīng)該都可以解決辐棒。
3、IDE的默認(rèn)編碼
在IDEA的安裝目錄牍蜂,bin文件夾中有兩個配置文件“idea.exe.vmoptions”和“idea64.exe.vmoptions”漾根,這兩個是Idea32位和64位的啟動器配置,你用多少位的啟動器就修改哪個文件鲫竞。在其中加上“-Dfile.encoding=UTF-8”辐怕,配置IDE的默認(rèn)編碼。
更改IDE默認(rèn)編碼后贡茅,需要重啟Idea秘蛇。到這里,絕大部分人的問題都應(yīng)該解決了顶考。
4赁还、操作系統(tǒng)編碼
改了如上配置之后,可能有人會發(fā)現(xiàn)驹沿,控制臺中原本正常輸出的漢字變成了亂碼艘策。這是因?yàn)樵跇?biāo)題3步驟中加上的“-Dfile.encoding=UTF-8”配置強(qiáng)改了IDE的編碼,與操作系統(tǒng)的默認(rèn)編碼不同所導(dǎo)致的渊季。如果需要顯示正常的話朋蔫,需要將操作系統(tǒng)的編碼活動頁改為UTF-8,這一步要自行斟酌是否更改却汉。
在cmd中輸入 chcp 65001 只能將當(dāng)前的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
更改系統(tǒng)編碼后需要重啟電腦合砂,再打開Idea控制臺中文編碼顯示正常青扔。
5、后記
編碼一直都是一個頭疼的問題,我們在解決的時候應(yīng)該分析原因微猖,并根據(jù)自己遇到的情況對癥下藥谈息,而不是病急亂投醫(yī),搜到一個方法就嘗試凛剥。