您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
一位不愿透露姓名的用户 发布于2019年11月25日 15:45

在 IntelliJ IDEA 内启动 Tomcat 时 控制台输出中文乱码信息,如何解决?

5047 次浏览 读完需要≈ 1 分钟 IntelliJ IDEATomcat

我使用的是 IntelliJ IDEA 2019.2.4 和 Tomcat 9.0.27 (基于 Windows 7 系统)。

但是,在启动 Tomcat 时,却出现了中文乱码的问题。

这是安装的最新版本,之前我使用旧版本的时候,类似的安装和配置,都没有遇到过。

IDEA 启动 Tomcat 出现了中文乱码
IDEA 启动 Tomcat 出现了中文乱码

请问这个问题该如何解决呢?

1 个回答

Ready · 5年前

遇到中文乱码问题,一般都要考虑文本输入和输出的字符编码是否保持一致(一般地,中文环境下,要么统一为GBK/GB2312,要么统一为UTF-8)。

你可以检查 文件本身的字符编码 和 IDE中设置 的字符编码 是否保持一致。如果不一致就调整。

当然,看你这个截图,倒不像是这样的问题。因为从截图中可以看出,你在启动Tomcat、还没有启动对应的Web应用时,就出现了中文乱码。

这种情况,建议你打开并检查 $TOMCAT_HOME/conf/logging.properties 文件,看是否存在类似如下配置片段:

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8

2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.maxDays = 90
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8

如果存在,里面一共有5个值为UTF-8的配置项,就将里面的第1、2、5UTF-8配置项的值 ,均修改为GBK

已采纳 ? 3 0 0 编辑

撰写答案