• 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。

        

  • 相关阅读:
    Objective-C /iphone开发基础:分类(category,又称类别)
    Objective-C,复合类,Composition
    [置顶] Objective-C开发环境介绍以及Cocoa,以及第一个程序
    链表的创建与插入练习
    c++算法联系,冒泡排序,bubble sort,插入排序,insert sort,
    封装,capsulation,&&继承,Inheritance,&&多态,polymorphism
    inheritance,菱形继承, 虚继承,virtual
    c++中运算符重载,+,-,--,+=,-=,*,/,*=,/=,
    [置顶] 运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy),三大件(bigthree problem)
    [置顶] c++类的继承(inheritance)
  • 原文地址:https://www.cnblogs.com/NyanKoSenSei/p/12004845.html
Copyright © 2020-2023  润新知