真正的解决IDEA中Tomcat控制台乱码的问题
解决方案一
网上看到一个真正的解决方案:
-
首先要分清是tomcat日志编码,与idea的日志显示控制台编码
-
tomcat日志编码:当在cmd中启动Tomcat时,此时出现乱码显示的是Tomcat的日志(这属于Tomcat编码),可以通过在启动Tomcat之前运行,
chcp 65001
来讲Windows默认的GBK编码改编成UTF-8编码,这样cmd中显示的日志就不是乱码了。(chcp 936
切换cmd中的编码为GBK),此时记得在Tomcat配置中配置-Dfile.encoding=UTF-8
,即 -
IDEA中显示编码:Windows默认用的GBK,所以idea中显示默认为GBK编码,这时需要在IDEA中的help中的custom vm option添加
-Dfile.encoding=UTF-8
,强制为utf-8编码显示,截图如下:注意点:
不要自己去改IDEA安装目录下的.vmoptions文件,我的问题是:我每次IDEA一提示更新我就更新,导致我的电脑中存在IDEA2020.1.3和IDEA2020.2.1两个版本的安装目录,之前去改成了IDEA2020.1.3的安装目录下的.vmoptions文件,导致并没有解决乱码问题。
但是如果直接按照第3步在IDEA中设置那是没有问题的,肯定是设置的是当前使用的IDEA安装目录下的
idea64.exe.vmoptions
,那么肯定能解决乱码的问题。 -
【切忌】自己改tomcat的logging.properties 为GBk 会导致调试时get/post参数乱码。
解决
解决方案补充
补充:
就是将Windows的编码默认编码设置为utf-8
,具体步骤如下图:
1、按win键,输入“区域与语言设置”
2、选择管理语言设置
3、在弹出框中选择更改系统区域设置
4、勾选Unicode UTF-8 并点击确定和应用
5、重启系统,验证结果,查看系统编码为chcp命令,65001即为utf-8编码
这里的参考文章为:win10 配置系统默认utf-8编码
另一参考文章为:IDEA乱码Tomcat控制台乱码输出乱码报文乱码