前言
不管是否有强迫症,就算是严谨,我们看到控制台或者日志里面乱码,总是不太舒服, 最主要的是不方便我们排查问题。
那么下面我们就乱码问题进行解决
原因分析
乱码问题很烦人,但是病因却异常明显,输入输出的编码格式不一样,根本的原因是遇到汉字,会出现占两个方法和占三个字符的缘故
,暗号对不上,那不乱套了
解决方案
1.第一步先从开发工具入手,配置输入输出为 UTF-8 编码格式

2.或者在 pom 文件配置
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
3.有的项目是用外置Tomcat部署war包的方式启动的
a . -Dfile.encoding=UTF-8

b. 如果配置之后,控制台仍然乱码,那是因为 Windows 和 idea 的控制台默认的编码格式是GBK,此时要修改Tomcat 的 logger.properties 就可以了
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.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.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.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.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 ⑤
java.util.logging.ConsoleHandler.encoding = GBK
①②③④⑤ 处注释
添加:
java.util.logging.ConsoleHandler.encoding = GBK

1174

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



