从Tomcat9.0.14版本后,tomcat在运行期间在控制台输出的中文日志会出现乱码问题,对比了之前不会出现乱码问题的9.0.13版本,发现在%CATALINA_HOME%\conf\logging.properties文件中多了一项配置:
java.util.logging.ConsoleHandler.encoding = UTF-8
tomcat貌似好心办了坏事,明明想解决乱码问题,却造成了乱码问题,这是因为Windows系统控制台默认字符集是GBK,tomcat想按照UTF-8字符集输出,明显是有问题的。
解决方法有两种,一种就是将上面的配置改为GBK,另一种就是将这一项配置删去(或者在这一行最前面加#注释),之前版本没有这个配置就没出现乱码问题。

从Tomcat 9.0.14版本开始,由于新增了`java.util.logging.ConsoleHandler.encoding=UTF-8`配置,导致在Windows系统控制台输出的中文日志出现乱码。该问题是由于Windows控制台默认字符集为GBK,而Tomcat尝试使用UTF-8编码输出。解决方法包括将配置改为GBK或直接删除该配置。
1万+

被折叠的 条评论
为什么被折叠?



