idea编辑器下tomcat启动时server乱码,TomcatLocalhostLog乱码,TomcatcatalinaLog乱码的解决
首先要清楚自己要解决的是哪里的乱码,之前找了很多文章一顿操作,包括 一.配置项目编码及IDE编码 如图:
二.配置项目启动服务器参数,在tomcat配置中在VM options 项中添加 -Dfile.encoding=UTF-8
2.maven项目,在pom.xml中配置maven-surefire-plugin 设置编码格式utf-8。
等等…
结果依旧乱码。
今天梳理下只针对tomcat启动时server,TomcatLocalhostLog和TomcatcatalinaLog的乱码
综合了很多博客,总结根本原因:
一.首先查看你的idea编辑器安装目录下bin里面的这个文件是否添加:
-Dfile.encoding=UTF-8或-Dfile.encoding=GBK(若是64位系统打开idea64.exe.vmoptions ,32位打开idea.exe.vmoptions)如下图:
打开后的如下图:
此时先不要急着修改东西,先打开tomcat的conf文件下的logging.properties文件

打开如下图:

找到1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8,
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8,
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8,
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8和
java.util.logging.ConsoleHandler.encoding = utf-8这几行
他们的编码格式分别对应idea里面的tomcat的server和logs 如下图:

下面放解决方式:
一. 首先server乱码问题的解决:
1.若IDEA的bin文件下 idea.exe.vmoptions文件 中没有 -Dfile.encoding 编码格式配置
则tomcat 的logging.properties文件设置java.util.logging.ConsoleHandler.encoding = GBK
2.若 IDEA的bin文件下 idea.exe.vmoptions 文件有 -Dfile.encoding 的编码格式配置 (比如:-Dfile.encoding=UTF-8或者-Dfile.encoding=GBK)
则设置tomcat 的logging.properties文件中的java.util.logging.ConsoleHandler.encoding 要和idea.exe.vmoptions 文没里的-Dfile.encoding编码格式相同,
要么同是utf-8 要么同是GBK
二.TomcatLocahostLog日志及TomcatCataniaLog日志乱码,
同理
1.若IDEA的bin文件下 idea.exe.vmoptions文件 中没有 -Dfile.encoding 编码格式配置
则tomcat 的logging.properties文件设置1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK,(TomcatCataniaLog)
2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK,(TomcatLocahostLog)
2.若 IDEA的bin文件下 idea.exe.vmoptions 文件有 -Dfile.encoding 的编码格式配置 (比如:-Dfile.encoding=UTF-8或者-Dfile.encoding=GBK)
则设置tomcat 的logging.properties文件中的1catalina.org.apache.juli.AsyncFileHandler.encoding ,2localhost.org.apache.juli.AsyncFileHandler.encoding要和idea.exe.vmoptions 文没里的-Dfile.encoding编码格式相同,
要么同是utf-8 要么同是GBK,其他日志乱码根据上面对应名称修改。
最后总结:由于tomcat的logging.properties文件中的1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8,
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8,
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8,
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8和
java.util.logging.ConsoleHandler.encoding = utf-8
都是默认UTF-8,所以最简单一步就是把IDEA的bin文件下 idea.exe.vmoptions 文件加上 -Dfile.encoding=UTF-8*,一定要重启IDEA*