问题现象
我的tomcat版本是10.1版本。
在cmd下启动tomcat,会新打开控制台输出窗口:
控制台窗口输出的中文信息是乱码:
问题原因
产生这个问题的原因是:控制台窗口的编码和输出到控制台窗口的日志信息编码不一致。
查看tomcat控制台窗口的编码
可以看到,tomcat控制台窗口当前的代码页是936,也就是GBK。
查看tomcat输出日志信息到控制台的编码
打开tomcat安装目录下conf子目录下的logging.properties
文件:
用线框出来的三行控制输出到控制台的日志信息的,编码用了UTF-8。
解决方法
打开tomcat安装目录下conf子目录下的logging.properties
文件,将输出到控制台的日志编码改为GBK,使得跟控制台窗口的编码一致就行了:
现在重新启动tomcat:
控制台的中文信息显示正常了:
备注
我也尝试过在cmd窗口,先用命令chcp 65001
将窗口的代码页改为65001,也就是UTF-8,结果是cmd窗口是修改过来了,但这个修改无法带给新打开的tomcat控制台窗口,tomcat控制台窗口的代码页仍然是936。