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

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

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

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

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

image

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

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

    java.util.logging.ConsoleHandler.encoding = GBK

  3. 修改应用的输出编码

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

<!--输出到控制台 -->
    <appender name="CONSOLE"
        class="ch.qos.logback.core.ConsoleAppender">
        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
        <encoder>
            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
            <!-- 设置字符集 -->
            <charset>GBK</charset>
        </encoder>
    </appender>


最终效果:

image

posted @ 2022-03-18 15:12  huiy_小溪  阅读(524)  评论(0编辑  收藏  举报