出现的问题
• tomcat启动时打印乱码
• 使用 System.out.println("中文"); 乱码
网上找了一大堆方法,各种修改idea的编码都没有用,后面慢慢摸索,得知问题其实主要出现在tomcat,也找到了比较可靠的方法,在这总结一下。
![](https://img-blog.csdnimg.cn/img_convert/5dbf5c3848c0bee49a46dfa837f86ff9.png)
tomcat启动时打印乱码问题
这个跟windows和tomcat有关,windows的默认编码是GBK。
一般在配置\conf\logging.properties时,会配置java.util.logging.ConsoleHandler.encoding = GBK,这样dos窗口启动时不会乱码,但是idea启动时会乱码,所以需要修改windows编码以及重新配置logging.properties。
a.更改windows编码
控制面板-->时钟和区域-->区域-->管理-->更改区域设置-->勾选Beta版:使用Unicode、UTF-8提供全球语言支持-->重启电脑
![](https://img-blog.csdnimg.cn/img_convert/2b9517e32c801eb472395bec7f800224.png)
![](https://img-blog.csdnimg.cn/img_convert/cfc576fdfedfcab2f17c429bb29621ba.png)
![](https://img-blog.csdnimg.cn/img_convert/c70124f7afffa10f278127797ad5b4ed.png)
![](https://img-blog.csdnimg.cn/img_convert/83d6e25bdd34d3d790ded28fe9648dc4.png)
![](https://img-blog.csdnimg.cn/img_convert/6b08df7fb1c5490d4f5b463bc1faa195.png)
b.更改tomcat编码
打开tomcat安装目录下的\conf\logging.properties
设置java.util.logging.ConsoleHandler.encoding = UTF-8,其他编码也可以改成UTF-8
![](https://img-blog.csdnimg.cn/img_convert/a1f1cd662d83687d000eb4b68add5ac3.png)
解决使用 System.out.println("中文")乱码问题
这个是tomcat的运行环境编码出现问题
a.解决方法一:vm option添加-Dfile.encoding=UTF-8
idea配置tomcat时,在vm option加上
-Dfile.encoding=UTF-8
![](https://img-blog.csdnimg.cn/img_convert/f0e76ca5279c249c678dbd022c3ad3cf.png)
b.解决方法二(一劳永逸)
打开tomcat安装目录下的\bin\catalina.bat,在下面图示位置添加(不是双击打开,直接拖入idea就行了,其他文本编辑器行)
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8
![](https://img-blog.csdnimg.cn/img_convert/074d5b18e264513d47f1189f135153d1.png)
总结
网上方法一大堆,挺多没有用的!带着问题(为什么会乱码?什么原因导致的乱码?)去寻找答案,问题在摸索中就解决了。出现问题最主要还是自己见识少,遇到的问题少。多学习,多总结经验,以后浪费的时间会少非常多。