最近在复习Servlet 的知识,当然首要事情就是要把Tomcat配置完成。配置过程都非常顺利,但是在启动时,发现启动台的输出格式乱码。于是去查了资料。
环境参数:
IDEA2020.2
Tomcat9.0.20
JDK1.8
下面两种方式都试过,无济于事。
-
修改Tomcat目录conf内的server.xml文件,添加
URIEncoding="UTF-8"
-
在IDEA的运行配置中,添加
-Dfile.encoding=UTF-8
最后根据乱码找到了解决方案,便打算写个博客记录一下
- 找到Tomcat目录下的conf/logging.properties配置文件,右键用编辑器打开
- 将以下其中几行代码的的值由
UTF-8
修改为GBK
catalina.org.apache.juli.AsyncFileHandler.encoding
localhost.org.apache.juli.AsyncFileHandler.encoding
manager.org.apache.juli.AsyncFileHandler.encoding
hostmanager.org.apache.juli.AsyncFileHandler.encoding
java.util.logging.ConsoleHandler.encoding
乱码的根本原因:
Windows系统的cmd是GBK编码的,所以IDEA的下方log输出的部分的编码也是GBK的,然而Tomcat 9.0 版本默认log输出是UTF-8编码的,采用了两种不同的编码方式就会导致乱码。
保存之后再启动Tomcat,大功告成: