系统:win10家庭版
环境:tomcat8.5+jdk8+idea2017.2.5
目标:idea下的 Server,Tomcat Localhost Log, Tomcat Catalina Log,以及本地生成的日志文件输出的中文都不会乱码
场景回顾:从服务器上拉下来的代码编码格式是 UTF-8 的,idea通过Settings-》Editor-》File Encodings全部都设置为了UTF-8,之后启动tomcat后,发现Tomcat Catalina Log面板中涉及中文字符的全部都乱码了。网上看了好多篇博客,解决方法无非就是下面几种!
1、在IDEA中打开 Tomcat配置页面,在VM option 项中加入 -Dfile.encoding=UTF-8
2、你自己的Tomcat目录下的-》conf-》logging.properties这个文件,把一些或者全部都改成UTF-8编码
3、修改idea安装目录-》bin下两个文件【idea64.exe.vmoptions】【idea.exe.vmoptions】
在后面加上
-Dfile.encoding=UTF-8
或者 这两个
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
这里需要注意:应该要去idea-》Help-》Edit Custom VM Options这里面去设置
4、在idea的tomcat配置那-》Startup/Connection那一栏最底下添加几个参数
name value
JAVA_OPTS -Dfile.encoding=UTF-8
JAVA_TOOL_OPTIONS -Dfile.encoding=UTF-8
以上那么多种方式,我全部都试过了。但是那4处地方,总有几个地方还是会乱码!!!
解决思路
上面说的那些方式,第二种是有效果的。但是你会发现输出到日志文件乱码了。因为你毕竟tomcat配置log那设置了GBK了。这铁定会导致乱码的,所以解决思路就是全部东西统一弄成UTF-8不就好了。但是问题是上面如果全部都设置成了UTF-8。你会发现还是不起作用。明明都在idea配置文件中都指定输出格式为UTF-8了为什么还不行?原因就是你设置的这两个文件【idea64.exe.vmoptions】【idea.exe.vmoptions】他不是你正在使用环境的配置文件。你如果要设置你正在使用环境的配置。你应该要去idea-》Help-》Edit Custom VM Options这里面去设置(如下图)

在这个文件中添加以下这一行(tomcat那边的配置文件全部改成UTF-8【默认貌似也是那么设置】)
-Dfile.encoding=UTF-8
这时候,你再启动项目看看。 Server,Tomcat Localhost Log, Tomcat Catalina Log,以及本地生成的日志文件中文都显示正常了!
参考链接
https://blog.youkuaiyun.com/qin904863396/article/details/105839014
在Windows 10环境下,使用IDEA 2017.2.5、Tomcat 8.5和JDK 8进行开发时,遇到Tomcat日志中文乱码的问题。尝试了多种解决方案,包括在IDEA的VM options中设置-Dfile.encoding=UTF-8,修改Tomcat的logging.properties文件,以及调整IDEA的custom VM options,但仍有乱码出现。最终,通过在IDEA的Edit Custom VM Options中设置-Dfile.encoding=UTF-8,并确保所有相关配置文件编码为UTF-8,成功解决了Tomcat日志及本地日志文件中文乱码的状况。
2万+

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



