林檀有追新的习惯,趁今天有空闲,就把所有的开发相关的工具更新了一下。
但在更新Tomcat后(9.0.13 – 9.0.16),林檀执行startup命令来测试,却发现Log里的中文全部乱码。
emmm,果然当第一个吃螃蟹的人不容易。
上网搜了一下,大部分解决方案都是说CMD的编码为GBK(936),而Tomcat 8 编码为UTF-8(65001),需要统一一下。
现在林檀这里的问题是,更新前的9.0.13版本一切正常。So,跳过,继续。
终于,在这篇文章下(感谢作者),林檀找到了原因:
https://blog.csdn.net/colcool/article/details/85180935
简单来说,
9.0.14之前版本的Log编码都是由系统指定的。
9.0.14及之后版本新增了对Log编码的指定,默认为UTF-8。但控制台编码为GBK,二者存在编码冲突,即乱码。
既然知道原因,那想解决就容易多了。
进入Tomcat安装目录,打开conf/logging.properties文件,找到以下代码:
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
......
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8
......
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
......
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
......
java.util.logging.ConsoleHandler.encoding = UTF-8
删除,或者注释掉。
OK~
0 条评论