解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题

Posted by 咖啡不苦 on June 22, 2017

先说办法,再说原理!

办法

修改tomcat启动脚本:catalina.sh文件,找到JAVA_OPTS 增加文件编码参数:

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

就ok了。

或者,在idea启动tomcat时,设置这个参数:

原理

Idea控制台里的日志默认是从tomcat的localhost.log 和 catalina.log 两个文件读出来的。

一般,我们的IDEA配置的编码是UTF-8.

如果tomcat输出的catalina日志文件不是UTF-8的,在console里看,就会出现乱码的情况,所以,应该将tomcat生成文件的编码改了。

扩展

idea启动的tomcat生成的catalina.log文件在哪呢?

在console中观察启动日志,其中一个参数叫 CATALINA_BASE 这个地址就是了。

找到下面的logs目录,文件就躺在那。看一下修改前和修改后,生成的问题编码有什么不同: