Tomcat日志乱码全解决方案
- 1.出现乱码
- 2.解决方案
- 方案一、 直接修改Tomcat日志输出字符集
- 方案二、 修改IDEA启动VM参数字符集
1.出现乱码
最近一直在用Springboot
,很少再直接使用Tomcat启动服务器,昨天接手了一个项目,当我需要在本地调试的时候,我首先去手动下载了一个Tomcat
,在IDEA中配置运行以后,打印日志出现了乱码的情况:
2.解决方案
方案一、 直接修改Tomcat日志输出字符集
看到这熟悉的中文字符乱码,想都不用想,肯定是因为坑爹的Windows
平台上的GBK
编码和输出的UTF8
编码的字符串出现了冲突,根据以往踩坑的经验,我就直接找到了Tomcat
目录下的配置文件夹:
看到了熟悉的logging配置文件,打开以后果不其然,日志的输出全部是UTF8
编码,这里需要给小伙伴普及一个知识,Windows
下的CMD
的默认字符集是GBK
,所以UTF8
编码输出的日志,中文看到的肯定是乱码了。
前面几个都是文件日志,我们不用关心,只需要修改最后一个输出到console
的字符串编码:java.util.logging.ConsoleHandler.encoding = GBK
重启Tomcat
以后发现中文乱码情况已经解决了。
方案二、 修改IDEA启动VM参数字符集
这种方式是我在stackoverflow上看有大神的解决方案,不需要修改Tomcat日志的编码,直接修改IDEA
启动时JVM
的参数,添加:
-Dfile.encoding=UTF-8
然后重启IDEA
可以看到这样也是能解决问题的,我推测是因为IDEA
默认启动的JVM
参数指定的是GBK,因此导致了控制台也不能正常显示UTF8
编码的字符集,这样修改以后就可以支持了。