【解决IDEA控制台中文乱码,亲测有效,分析全面】

首先判断IDEA控制台乱码来源

自我总结,IDEA控制台输出日志乱码一般会有三种来源:
1、IDEA本身编码错误。
2、Tomcat日志输出编码错误。
3、项目本身原因。

终极原因是:将IDEA编码和Tomcat编码不一致,统一设置为UTF-8即可。

一、IDEA本身编码错误

解决方法:
1、打开IDEA,找到帮助–》编辑自定义VM选项–》添加:-Dfile.encoding=UTF-8
![在这里插入图片描述](https://img-blog.csdnimg.cn/2d9f88502f704d6190340f5ba6264d32.png【解决IDEA控制台中文乱码,亲测有效,分析全面】_第1张图片

【解决IDEA控制台中文乱码,亲测有效,分析全面】_第2张图片
2、找到idea的安装路径–》bin目录下的idea64.exe.vmoptions,同样添加
【解决IDEA控制台中文乱码,亲测有效,分析全面】_第3张图片
【解决IDEA控制台中文乱码,亲测有效,分析全面】_第4张图片
3、IDEA设置中进行修改编码方式

  • 控制台
    【解决IDEA控制台中文乱码,亲测有效,分析全面】_第5张图片

  • 文件编码
    【解决IDEA控制台中文乱码,亲测有效,分析全面】_第6张图片

二、Tomcat编码错误

其实只进行第一步操作就可以,如果还是不行或者遇到其他问题,在进行第2,3步骤试一下。
1、找到Tomcat安装路径,conf文件夹下的logging.properties文件,修改java.util.logging.ConsoleHandler.encoding = UTF-8
【解决IDEA控制台中文乱码,亲测有效,分析全面】_第7张图片
2、Tomcat安装目录下的bin目录中,对catalina.bat进行如下配置:
修改相应的tomcat文件,找到你的tomcat安转目录下的bin目录,然后编辑该文件,大概在216行左右,修改如下代码,记住要保存!!!记住要保存!!!记住要保存!!!

set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
# 增加 -Dfile.encoding=UTF8的配置
set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dfile.encoding=UTF8"
-----2
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%" -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8

3、另一种方案(这是解决tomcat运行网页时,中文乱码的解决方案),也是你的tomcat安转目录,找到conf下的sever.xml,点击编辑,大概在63行左右,照着截图,添加代码,还是记得保存。

<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

【解决IDEA控制台中文乱码,亲测有效,分析全面】_第8张图片

三、项目本身

如果出现其他项目并没有出现乱码,但是其中一个出现乱码,你就要分析下是不是这个原因。
项目resources文件夹下存在logback-spring.xml,编码方式修改成UTF-8。
【解决IDEA控制台中文乱码,亲测有效,分析全面】_第9张图片
项目本身,导致出现乱码,是本人亲身经历的。

四、附加:logback-spring.xml文件



    
    
    
    
    
    logback

    
    
        
        
            debug
        
        
        
            ${CONSOLE_LOG_PATTERN}
            UTF-8
        
    

    
    
        
            
            info
            
            ACCEPT
            
            DENY
        
        
        
            
            ${LOG_PATH}/ospdemo-info-desc-%d{yyyy-MM-dd}.log
            
            15
            
            
        
        
        true

        
        
            UTF-8
            ${PATTERN}
        
    

    
    
        
            
            error
            
            ACCEPT
            
            DENY
        
        
        
            
            ${LOG_PATH}/ospdemo-error-desc-%d{yyyy-MM-dd}.log
            
            15
        

        
        true

        
            UTF-8
            ${PATTERN}
        
    

    
    
        
        
            
        
    
    
    
        
        
            
        
    

五、还有其他原因导致乱码的,及时联系作者进行补充!!!

你可能感兴趣的:(工具,intellij-idea,java,tomcat)