文章目录
- 一、问题描述:
- 二、产生原因
- 三、解决方法
- 四、遗留问题/后续问题
一、问题描述:
项目在idea中运行时日志是正常的,用Tomcat启动时发现一大堆看不懂的文字,如
二、产生原因
产生乱码的根本原因就是编码和解码不一致,举个例子就是翻译的人与写文章的人用的不同的语言。比较常见的编码格式有Unicode、Ascll码、GBK、UTF-8等等,我们普遍用的都是UTF-8等等。
原因:Tomcat控制台编码格式和系统控制台编码格式不一致,Tomcat控制台默认编码格式是UTF-8,系统控制台默认编码格式是gbk。将编码格式修改成一致即可解决。
三、解决方法
- 1)打开tomcat的/conf/server.xml,给它显示的增加编码方式
<Connector connectionTimeout="20000"
port="8080" protocol="HTTP/1.1"
redirectPort="8443" URIEncoding="UTF-8"/>
- 2)将日志的编码格式也修改一下,打开tomcat的\conf\logging.properties
如果logging.properties文件中的java.util.logging.ConsoleHandler.encoding属性是UTF-8则修改为GBK, 反之修改为UTF-8
重启项目,问题解决
四、遗留问题/后续问题
将tomcat的\conf\logging.properties文件中的java.util.logging.ConsoleHandler.encoding属性修改为GBK虽然能解决Tomcat控制台日志打印正常,但是在idea中启动项目时日志又会乱码,所以当用idea启动时又需要修改ConsoleHandler.encoding属性修改为UTF-8, 目前没找到能同时解决这两个乱码的。
也期待其他大佬有一些解决方法能告知一下。谢谢!