windows下tomcat控制台输出乱码

tomcatHOME/config/logging.properties文件中有如下一行:

java.util.logging.ConsoleHandler.encoding = UTF-8
  • tomcat这样做的目的在于避免乱码,但在windows下并没有使用UTF-8,而是GBK,这就反而导致了乱码,将其改为GBK则可以避免windows环境下控制台输出乱码,但这仅限于server输出信息,如果想要避免Catalina log/Localhost log等等日志输出乱码还需要修改以下配置:

    1catalina.org.apache.juli.FileHandler.encoding = GBK
    2localhost.org.apache.juli.FileHandler.encoding = GBK
    3manager.org.apache.juli.FileHandler.encoding = GBK
    4host-manager.org.apache.juli.FileHandler.encoding = GBK

具体解释见下文:

乱码的根本原因:Windows系统的cmd是GBK编码的,所以IDEA的下方log输出的部分的编码也是GBK的,然而Tomcat 9.0 版本默认log输出是UTF-8编码的,采用了两种不同的编码方式就会导致乱码。

二、解决方案

方法1:修改Tomcat 日志输出为GBK编码(推荐使用这种方式)

先打开tomcat的安装目录

编辑 conf 目录下的 logging.properties

windows下tomcat控制台输出乱码_第1张图片
image

用notepad++ 打开,把里面的UTF-8 通通改成 GBK

windows下tomcat控制台输出乱码_第2张图片
image

保存,重启Tomcat,即可生效。

方法2:修改IDEA为UTF-8编码

首先打开 idea的安装目录

windows下tomcat控制台输出乱码_第3张图片
image

修改idea.exe.vmoptions和idea64.exe.vmoptions这两个文件

分别在这两个文件的最后,添加一行 -Dfile.encoding=UTF-8

这个参数的作用是强制系统文件使用UTF-8编码

windows下tomcat控制台输出乱码_第4张图片
image

idea.exe.vmoptions和idea64.exe.vmoptions这两个文件都要改

改完之后保存,重启IDEA即可。

你可能感兴趣的:(windows下tomcat控制台输出乱码)