IntelliJ IDEA 中 Tomcat 控制台乱码解决方法(更新于2025/11)
首先,看一下处理过后的控制台输出

非常的清爽啊,心旷神怡。(感觉心情美美哒)
之前一直都看着乱码的控制台,想着反正对实际应用没什么影响,等下弄一下,一天就过去了,还不如多做点事情,学点技术。但今天运行时,看到一团乱麻麻的东西在我的控制台,而我的测试的日志却掺杂在其中,感觉它真的是孤立无援,遂狠下心,特来解救。
看了很多解决文章,尝试了很多遍。
先给出我的idea版本及tomcat版本,又可能版本不同,解决办法不同。(最后面给出了我尝试过的方法)
如未解决你的问题,请勿责怪,小生这厢有礼了。( శ 3ੜ)~♥
如果刚好解决了你的问题,还请给这厮一个免费的小心心,(。◝‿◜。)
idea:IntelliJ IDEA 2024.1.7
tomcat:Tomcat 10.1.19
最终解决我的问题的办法是~ ~ ~
它就是~ ~ ~
修改 Tomcat 的日志编码配置
- 找到 Tomcat 安装目录下的
conf/logging.properties文件(例如我的路径:D:\soft\javasoft\tomcat\apache-tomcat-10.1.19\conf\logging.properties)。 - 打开文件,搜索
java.util.logging.ConsoleHandler.encoding,默认可能是UTF-8或 ,将其修改为GBK:
java.util.logging.ConsoleHandler.encoding = UTF-8
对的,我只修改了这一处地方就解决了。
原理说明:
乱码的核心是“Tomcat输出的编码”与“IDEA控制台解码用的编码”不一致。(我的系统默认编码为GBK)。
java.util.logging.ConsoleHandler.encoding 这个配置,决定了 Tomcat 在输出日志时,会把日志中的字符(比如中文 “信息”)转换成哪种字节流(编码过程)。
- 如果你设置为 GBK,Tomcat 就会用 GBK 编码把 “信息” 转换成对应的字节流。
如果你设置为 UTF-8,Tomcat 就会用 UTF-8 编码把 “信息” 转换成对应的字节流。IDEA 控制台在显示日志时,需要把 Tomcat 输出的字节流再转回字符(解码过程),而它会使用自身默认的解码编码(通常与系统环境或 IDEA 配置相关)。
我的情况中,IDEA 控制台的默认解码编码其实是 GBK(可能是因为我的操作系统是中文 Windows,系统默认编码为 GBK,IDEA 继承了这个编码)。
当 Tomcat 用 UTF-8 编码输出(字节流是 UTF-8 格式),但 IDEA 用 GBK 解码时:GBK 无法正确解析 UTF-8 字节流,就会出现乱码。
另外的方法
然后在下面给出我尝试过的一个方法(对我是没用):
在IDEA中运行Tomcat时出现控制台乱码,通常是由于编码格式不匹配导致的(Tomcat输出编码与IDEA控制台解码格式不一致)。以下是具体解决步骤:
1. 检查并修改Tomcat的日志编码配置
Tomcat的日志输出编码由其配置文件控制,需要确保与IDEA控制台编码一致。
- 找到Tomcat安装目录下的
conf/logging.properties文件(例如你的路径:D:\soft\javasoft\tomcat\apache-tomcat-10.1.19\conf\logging.properties)。 - 打开文件,搜索
java.util.logging.ConsoleHandler.encoding,默认可能是UTF-8或GBK,将其修改为UTF-8(统一编码):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在IDEA中的运行参数
强制JVM使用UTF-8编码输出,避免因JVM默认编码导致的乱码。
- 打开Tomcat运行配置:
Run -> Edit Configurations。 - 在左侧选择你的Tomcat实例,切换到
VM options选项卡,添加以下参数:-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
4. (可选)修改Tomcat启动脚本编码(Windows系统)
如果上述步骤无效,可尝试修改Tomcat的启动脚本,强制指定编码。
- 找到Tomcat安装目录下的
bin/catalina.bat文件。 - 打开文件,在开头添加以下内容(指定JVM编码):
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
5. 重启验证
- 关闭IDEA和Tomcat,重新打开IDEA并启动项目,查看控制台是否正常显示中文。
1780

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



