网上很多都是去改tomcat文件,但是有时候我尝试了发现也还是不行,于是从IDEA入手去修改,方法如下:

打开tomcat配置 Edit Configurations

在下面这个 VM options 里面加上 : -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8

可以了,

202601新年伊始,又碰到这个问题了,于是再总结一下。

遇到控制台乱码可以检查或尝试的地方:


1. 去tomcat配置文件,通常是:  apache-tomcat-9.0.83\conf\logging.properties,改一下 java.util.logging.ConsoleHandler.encoding = GBK

打印配置:

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

不行再检查下IDEA里面的配置:

看一下 File Encodings 里面3个 配置是不是设置成了UTF-8

-----------------------------------------------------------------------------------------------------------------------

2026-01-20 又碰到这个问题:

因为换了环境 新电脑 新装的 IDEA 2022 跑tomcat,

经过上面的检查 tomcat自己的日志不报错了 类似于这样:


但是 项目启动的自己的日志打印还乱码:

找了很多教程,尝试在 idea 中  Help -> Edit Custom VM Options  在 idea.vmoptions 里面最后一行加上 -Dfile.encoding=UTF-8 然后清缓存重启idea,这时候发现 自己日志框架打印的正常了,但是tomcat的日志信息开始乱码了...(心里万马奔腾)

后面ai了一下,总结如下:
 

我在idea里面设定了编码 统一位utf-8,但是我logging.properties 里面的 java.util.logging.ConsoleHandler.encoding = GBK  这就会导致tomcat用GBK写入,idea用utf-8读取,就导致了tomcat日志信息乱码;

所以可以知道的是:

idea 你的日志框架写的内容log4j 是基于 idea的编码读取的, 而tomcat写入的是基于logging.properties 的 要统一才能读到 不会乱码

写的有点乱,可以综合来看,欢迎指正

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐