Tomcat:console输出中文乱码(windows)


在网上看了很多文章去如何解决tomcat控制台乱码问题,试了效果都不好。

乱码的原因分析:控制台窗口的编码与输出内容不一致。

输出内容有两个主要来源,一个是tomcat自身的输出,另一个是tomcat的应用输出,

只要保证这三者编码一致就没有问题。而修改控制台的编码格式比较困难,网上有修改注册表或用chcp命令的,效果都不是很好。

所以控制台的编码就不修改了,保证tomcat和应用的输出和其一致就可以。

  1. 修改tomcat的输出编码
  2. 修改 conf/logging.properties文件,编码格式修改成GBK

    java.util.logging.ConsoleHandler.encoding = GBK

  3. 修改应用的输出编码

     以logback-spring.xml为例,见红色部分。


    "CONSOLE"
        class="ch.qos.logback.core.ConsoleAppender">
        
        "ch.qos.logback.classic.filter.ThresholdFilter">
            debug
        
        
            ${CONSOLE_LOG_PATTERN}
            
            GBK
        
    


最终效果: