使用System.out.pringln()输出中文到控制台显示正常,但使用日志组件则显示为乱码。

1.修改idea.exe.vmoptions,增加字符集设置
找到idea安装目录(可以桌面找到idea图标,右键选择属性,点查找目标)。

增加-Dfile.encoding=utf-8。保存,然后重启idea。

2.日志配置中增加字符集设置。
比如log4j:

1
2
3
4
5
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %c %x - %m%n
log4j.appender.stdout.Encoding=GBK

这是控制台日志的字符集设置(最后一行),如果发现日志文件是乱码,在文件的日志配置中增加字符集设置。
参考:https://blog.csdn.net/u011133135/article/details/72123196

3.在idea设置中找到file encoding,将所有的字符集都设置为UTF-8

4.idea Run/Debug Configuration的VM OPTIONS增加字符集设置

一般经过上面的设置,问题即可解决。