昨天本来准备更新一下Tomcat版本,但是发现新版本的日志打印中文会出现乱码(Tomcat自身打印的日志),不管是使用bat脚本启动还是在Idea中启动,都是乱码。研究了一个晚上,百度上的那些方式都试遍了,都是设置各种JVM启动参数,发现并没有卵用。

在使用bat文件启动Tomcat时,Tomcat目录下的logs文件夹会生成相应的日志文件,发现旧版本生成的日志文件编码是GBK,而Windows控制台的编码也是GBK,所以不会乱码。而新版本生成的日志文件编码是UTF-8,所以就造成了中文乱码问题

定位到问题以后,就去看Tomcat的日志配置文件,tomcat/conf/logging.properties这个文件就是tomcat的日志配置文件,通过使用BCompare对新老版本的配置文件进行对比,发现tomcat在新版的日志配置文件中加了指定编码为UTF-8的配置。这就是乱码的根源了。

解决方法:

  • 将配置UTF-8那一行配置删除(这样应该就是采用操作系统默认编码,Windows下即为GBK)
  • 将UTF-8改为GBK

若文章有任何问题,欢迎留言指出——作者博客:桔子笔记

Last modification:March 19th, 2020 at 02:03 pm