先说办法,再说原理!
办法
修改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目录,文件就躺在那。看一下修改前和修改后,生成的问题编码有什么不同: