解决方案
先试试 在idea的 Help-- custom vm options添加-Dfile.encoding=UTF-8,重启,没问题再往下>看
两个编码
首先要分清是
-
tomcat日志编码
- cmd内启动Tomcat时,cmd命令窗口也拥有一个编码,Tomcat日志有一个编码。当日志输出到cmd时,将信息以tomcat/conf/logging.properties java.util.logging.ConsoleHandler.encoding = UTF-8 这个编码发送给cmd的,然后cmd是以cmd自身拥有的编码格式(如下)去解码的,此时需要使用命令:
chcp 65001
将cmd转为utf-8,然后在此时窗口变为utf-8编码,然后启动Tomcat(使用bin\catalina.bat run
命令,因为start.bat会另外打开一个新的cmd窗口)。
- cmd内启动Tomcat时,cmd命令窗口也拥有一个编码,Tomcat日志有一个编码。当日志输出到cmd时,将信息以tomcat/conf/logging.properties java.util.logging.ConsoleHandler.encoding = UTF-8 这个编码发送给cmd的,然后cmd是以cmd自身拥有的编码格式(如下)去解码的,此时需要使用命令:
-
idea的日志显示控制台编码
-
windows默认用gbk所以idea显示默认为gbk编码,【一定】在 Help-- custom vm options 添加
- Dfile.encoding=UTF-8
,强制为utf8编码显示,【不要自己改.vmoptions】可能位置不对,idea会在用户目录复制一个。
【切忌】自己改tomcat的logging.properties 为GBk 会导致调试时get/post参数乱码
-