IntelliJ IDEA 中 Tomcat 控制台乱码解决方法
问题原理
乱码的核心是'Tomcat 输出的编码'与'IDEA 控制台解码用的编码'不一致。
java.util.logging.ConsoleHandler.encoding 配置决定了 Tomcat 在输出日志时使用的字符编码。IDEA 控制台显示日志时会使用自身默认的解码编码(通常与系统环境或 IDEA 配置相关)。
当两者不一致时(例如 Tomcat 用 UTF-8 编码输出,但 IDEA 用 GBK 解码),就会出现乱码。
解决方案
确保 Tomcat 与 IDEA 的编码设置一致。推荐统一使用 UTF-8,若系统默认编码为 GBK 也可调整为 GBK。
1. 修改 Tomcat 日志编码配置
找到 Tomcat 安装目录下的 conf/logging.properties 文件。
打开文件,搜索 java.util.logging.ConsoleHandler.encoding,将其修改为 UTF-8(或 GBK):
java.util.logging.ConsoleHandler.encoding = UTF-8
2. 配置 IDEA 的文件编码
确保 IDEA 的全局编码、项目编码均为 UTF-8,避免编码冲突。
- 打开 IDEA 设置:
File -> Settings -> Editor -> File Encodings。 - 将以下三个选项全部设置为
UTF-8:- Global Encoding
- Project Encoding
- Default encoding for properties files
- 勾选
Transparent native-to-ascii conversion(避免 properties 文件乱码)。
3. 配置 Tomcat 运行参数
强制 JVM 使用 UTF-8 编码输出,避免因 JVM 默认编码导致的乱码。
- 打开 Tomcat 运行配置:
Run -> Edit Configurations。 - 在左侧选择你的 Tomcat 实例,切换到
VM options选项卡,添加以下参数:
-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
4. 修改 Tomcat 启动脚本(可选)
如果上述步骤无效,可尝试修改 Tomcat 的启动脚本,强制指定编码。
- 找到 Tomcat 安装目录下的
bin/catalina.bat文件。 - 打开文件,在开头添加以下内容:
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
5. 重启验证
关闭 IDEA 和 Tomcat,重新打开 IDEA 并启动项目,查看控制台是否正常显示中文。


