關於JAVA IDE開發工具,Eclipse系列和Intelli IDEA是大部分公司的主要選擇,從開發者的選擇角度,Intellij IDEA彷佛比Eclipse系列更受歡迎一些。當咱們使用Intellij IDEA開發時,咱們發現出現中文亂碼問題,形成中文亂碼的根本緣由時開發工具和系統環境編碼格式不匹配,本篇採用理論結合實際的角度,完全解決該問題。ide
一 Intellij IDEA亂碼問題重現工具
以下圖所示,Intellij IDEA顯示中文爲亂碼。開發工具
二 解決問題編碼
(一)問題識別idea
根據Intellij IDEA控制檯輸出,Tomcat Catalina Log出現亂碼,所以能夠將問題定位到Tomcat上。那麼,咱們看看Tomcat控制檯是否出現亂碼。code
果真,是Tomcat輸出時出現問題。xml
(二)解決問題blog
1.查看系統編碼格式,936代碼GB格式ip
以下代碼頁和編碼格式對應關係utf-8
代碼頁 國家(地區)或語言 437 美國 708 阿拉伯文(ASMO 708) 720 阿拉伯文(DOS) 850 多語言(拉丁文 I) 852 中歐(DOS) - 斯拉夫語(拉丁文 II) 855 西里爾文(俄語) 857 土耳其語 860 葡萄牙語 861 冰島語 862 希伯來文(DOS) 863 加拿大 - 法語 865 日耳曼語 866 俄語 - 西里爾文(DOS) 869 現代希臘語 874 泰文(Windows) 932 日文(Shift-JIS) 936 中國 - 簡體中文(GB2312) 949 韓文 950 繁體中文(Big5) 1200 Unicode 1201 Unicode (Big-Endian) 1250 中歐(Windows) 1251 西里爾文(Windows) 1252 西歐(Windows) 1253 希臘文(Windows) 1254 土耳其文(Windows) 1255 希伯來文(Windows) 1256 阿拉伯文(Windows) 1257 波羅的海文(Windows) 1258 越南文(Windows) 20866 西里爾文(KOI8-R) 21866 西里爾文(KOI8-U) 28592 中歐(ISO) 28593 拉丁文 3 (ISO) 28594 波羅的海文(ISO) 28595 西里爾文(ISO) 28596 阿拉伯文(ISO) 28597 希臘文(ISO) 28598 希伯來文(ISO-Visual) 38598 希伯來文(ISO-Logical) 50000 用戶定義的 50001 自動選擇 50220 日文(JIS) 50221 日文(JIS-容許一個字節的片假名) 50222 日文(JIS-容許一個字節的片假名 - SO/SI) 50225 韓文(ISO) 50932 日文(自動選擇) 50949 韓文(自動選擇) 51932 日文(EUC) 51949 韓文(EUC) 52936 簡體中文(HZ) 65000 Unicode (UTF-7) 65001 Unicode (UTF-8)
2.解決Tomcat輸出亂碼問題
用Notepad++打開Tomcat安裝源碼conf文件夾下的logging.properties文件。
以下logging.properties文件內容,將下圖標記的UTF-8改成GBK
以下爲更換爲GBK後的文件內容
3.從新啓動Tomcat,亂碼問題解決
4.再打卡Intellij IDEA,亂碼問題已解決
三 拓展
網上有些博友提供了以下解決方法。
1.設置文件格式。File=>Settings=>Appearance&Behavior=>Appearance
2.刪除idea文件夾下的encoding.xml文件除utf-8外的全部文件
3.設置Inllij idea文件編碼格式,設置爲UTF-8。File=>Settings=>Editor=>File Encodings
4.配置Tomcat VM options值爲:-Dfile.encoding=UTF-8
5.打卡Intellij idea安裝目錄,在bin目錄下的idea.exe.vmoptions和idea64.exe.vmoptions兩個文件結尾添加
-Dfile.encoding=UTF-8