因为是web项目,得配置外置tomcat运行,然后启动之后控制台出现乱码,如下:
首先我们得明白的是有三种乱码:
- 如下图这个红色部分是tomcat服务器打印信息乱码
- 再看下图这个白色的是tomcat服务器启动后,代码打印信息乱码
- 然后还有一种为网页中打开的页面文字乱码
然后找了网上的解决办法:
1、 在IDEA安装目录bin下的idea.exe.vmoptions和idea64.exe.vmoptions中添加-Dfile.encoding=UTF-8
2、修改IDEA设置,Setting>Editor>File Encodings,将Global Encoding、Project Encoding、Default encodeing for properties files这三项都设置成UTF-8
3、设置IDEA启动选项,run->Edit Configrations,设置 vm option为-Dfile.encoding=UTF-8
4、打开项目源代码目录下的.idea的文件夹,打开encodings.xml
文件,将除了UTF-8
的都删了
5、重启IDEA
以上全都做了,然后发现依然没有解决
6、tomcat安装目录的config下logging.properties文件,修改以下配置
#java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.encoding = GBK
重启tomcat发现解决了服务器打印信息乱码问题(红色的打印信息),但是代码打印的中文信息还是没有解决(白色的打印信息)
7、设置IDEA自定义环境变量,Help->Edit custom VM options,文末添加以下:
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
重启IDEA,发现现在变成代码打印的中文信息正常了,但是服务器打印信息又变回乱码了
最后尝试将前面修改的tomcat中的logging.properties文件配置恢复到UTF-8,再重启tomcat,最后成功解决!
总结:
方案1、2、3、5、7一起可解决前面所说的三种乱码。