IDEA控制台乱码终极解决方案 1. 问题描述 2. 问题的原因 3. 解决办法 4. 其他解决办法

IDEA控制台乱码终极解决方案
1. 问题描述
2. 问题的原因
3. 解决办法
4. 其他解决办法

  由于本机的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。

  IDEA控制台乱码终极解决方案
1. 问题描述
2. 问题的原因
3. 解决办法
4. 其他解决办法

  弹出警示框,选择 Invalidate and Restart。

  IDEA控制台乱码终极解决方案
1. 问题描述
2. 问题的原因
3. 解决办法
4. 其他解决办法

  点击按钮之后,IDEA会自动关闭并重启,如果之前项目很多很大,那么缓存的重建速度将会比较慢。

  启动项目,发现控制台不管是Tomcat输出还是程序输出文本都正常了。

 

4. 其他解决办法

  这些方法就是网友提供的方法,如果实在解决不了,要么熟视无睹,要么重装IDEA。

  (1) 本地Tomcat问题

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

    打开Tomcat的安装目录,找到conf目录下的server.xml文件并打开。

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

    IDEA控制台乱码终极解决方案
1. 问题描述
2. 问题的原因
3. 解决办法
4. 其他解决办法

    在同目录下找到 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即可。

    IDEA控制台乱码终极解决方案
1. 问题描述
2. 问题的原因
3. 解决办法
4. 其他解决办法

  (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即可。

    IDEA控制台乱码终极解决方案
1. 问题描述
2. 问题的原因
3. 解决办法
4. 其他解决办法

  (4) IDEA字符集设置问题

    打开IDEA的Settings设置界面,找到 Editor-File Encodings。

    将三个下拉栏都设置为"UTF-8",保存并重启IDEA。

    IDEA控制台乱码终极解决方案
1. 问题描述
2. 问题的原因
3. 解决办法
4. 其他解决办法