Intellij IDEA開發時遇到的中文亂碼問題解決方法


Intellij IDEA開發時遇到的中文亂碼問題

參考大神文章 : 解決Intellij IDEA控制台,logger.info(),system.out.println()等中文亂碼問題(最完美篇)_heweiwei520的博客-CSDN博客_idea控制台亂碼

造成中文亂碼的根本原因是 開發工具和系統環境編碼格式不匹配

一 : 編寫環境亂碼(必要)

首先是編譯器語言 file -> settings ->Appearance(外觀) -> theme(主題設置) -> use custom font

(最好不設置采用默認語言,或選擇如下圖能支持中文的語言,避免出現中文亂碼)

image-20210722000741644

設置工程項目編碼 file -> settings -> Editor -> File Encodings-> 如下圖

image-20210722000926884

二 : 控制台打印亂碼 (兩種方案選一個)

1.方案一

image-20210722010152278

解決方案 :

用Notepad++打開Tomcat安裝源碼conf文件夾下的logging.properties文件。

image-20210721235729121

修改這五個 UTF-8GBK即可

( 其實只用修改 java.util.logging.ConsoleHandler.encoding = GBK,其它4個可以不修改,效果一樣,保險起見全部修改了。)

打開Intellij IDEA,亂碼問題解決, 再次單獨啟動tomcat發現亂碼也得到解決

image-20210722000151804

2.方案二

打開Intellij idea安裝目錄,在bin目錄下的idea.exe.vmoptions和idea64.exe.vmoptions兩個文件結尾添加

-Dfile.encoding=UTF-8 

(注意不要出現空格)

image-20210722001947814

image-20210722002852256

接着再修改idea配置Help ->Edit Custom VM Options , 在最后面添加:-Dfile.encoding=utf-8

image-20210722002122359

重啟IDEA開發工具(一定要重啟),再啟動工程,亂碼問題解決。

總結

方案二 只解決IDEA下tomcat啟動控制台亂碼,沒法像方案一能把tomcat命令控制台亂碼一起解決。

log4j的logger.info()控制台打印亂碼 和 system.out.println()控制台打印亂碼

采用(方案一)會出現logger.info()打印中文亂碼,system.out.println()打印中文正常

采用(方案二)會出現logger.info()打印中文正常,system.out.println()打印中文亂碼

記住: (方案一)和(方案二)不能同時設置,

推薦(方案二)+ 配置Tomcat VM options值為:-Dfile.encoding=UTF-8(解決system.out.println()亂碼問題)達到我們目的。

最終補充: 如果已經按照前面設置都沒問題,但是仍然還是亂碼,怎么解決?,這個時候只有一種解釋:IDEA把你的字體編碼弄錯了,怎么解決了?

在項目的目錄下有個.idea的文件夾,這個文件夾里有個encodings.xml的文件。里面記錄了你某些文件對應的特殊編碼,只要把encodings.xml里面的除了UTF-8的都刪了或者把encodings.xml文件刪除(會重新生成)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM