IDEA控制台亂碼終極解決方案


1. 問題描述

  由於本機的IDEA 2019.1出現了無法連接插件商店和Spring Boot模板的問題,就重裝了了最新的IDEA 2019.2.4版本,使用了一段時間以后,沒有改任何的配置,控制台的中文就莫名其妙的開始亂碼。使用了網上的各種辦法,還是沒有解決。

 

2. 問題的原因

  由於已經試了所有的方法也沒能解決,我看到別人說可能是因為IDEA在安裝目錄和項目的緩存目錄有兩份環境配置,因為如果是項目緩存配置那么即使修改IDEA安裝目錄的配置也無濟於事,緩存目錄配置依舊無法改變,所以亂碼依舊。

  根據這個思路,我開始測試到底是哪個地方出現了問題。首先,因為使用了Tomcat,所以可能是Tomcat使用了GBK而IDEA用了UTF-8導致的亂碼,后來添加了程序內控制台輸出也亂碼,所以判定應該不只是Tomcat的問題,而且由於用的是Spring Boot,所以內置的Tomcat配置也不好修改。之后我突發奇想,如果我重新創建一個項目看看會不會亂碼,於是用模板創建了一個Spring Boot項目,測試以后發現不管是Tomcat還是程序內輸出到控制台,都沒有亂碼,我已經確定了就是因為因為緩存配置導致的。

 

3. 解決辦法

  既然已經知道了問題的原因,解決的辦法就有了,清除緩存就可以了。

  提示:在操作以下操作之前,請確保IDEA的設置正確,否則亂碼可能會依舊存在。

  在IDEA項目中,點擊左上角的File-Invalidate Caches / Restart。

  

  彈出警示框,選擇 Invalidate and Restart。

  

  點擊按鈕之后,IDEA會自動關閉並重啟,如果之前項目很多很大,那么緩存的重建速度將會比較慢。

  啟動項目,發現控制台不管是Tomcat輸出還是程序輸出文本都正常了。

 

4. 其他解決辦法

  這些方法就是網友提供的方法,如果實在解決不了,要么熟視無睹,要么重裝IDEA。

  (1) 本地Tomcat問題

    如果是使用本機的Tomcat,需要修改Tomcat的server.xml文件。

    打開Tomcat的安裝目錄,找到conf目錄下的server.xml文件並打開。

    找到 protocol="HTTP/1.1" 的標簽,添加 URIEncoding="UTF-8" ,效果如下。

    

    在同目錄下找到 logging.properties 文件,使用文本編輯器打開。

    找到 "java.util.logging.ConsoleHandler.encoding",將值修改為 "UTF-8"。

    保存並重啟Tomcat即可。

    也可以在IDEA里設置,不過更換項目還需要再配置,不方便。

    在項目主頁最上面,找到 "Run",選擇 "Edit Configurations..."。

    點開左側"Templates",找到"Tomcat Server"-"Local"。

    在"VM options"中輸入 -Dfile.encoding=UTF-8 ,選擇Apply保存,重啟Tomcat即可。

    

  (2) Spring內置Tomcat問題

    打開項目的 pom.xml ,在<build>中添加plugin,重啟項目即可。

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.7.RELEASE</version>
                <configuration>
                    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                </configuration>
            </plugin>
        </plugins>
    </build>

  (3) IDEA配置問題

    打開IDEA安裝目錄下的bin文件夾,找到兩個配置文件:idea.exe.vmoptions和idea64.exe.vmoptions。

    用文本編輯器打開這兩個文件,分別在最后一行添加 -Dfile.encoding=UTF-8 。

    保存並重啟IDEA即可。

    

  (4) IDEA字符集設置問題

    打開IDEA的Settings設置界面,找到 Editor-File Encodings。

    將三個下拉欄都設置為"UTF-8",保存並重啟IDEA。

    


免責聲明!

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



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