Tomcat 中文乱码解决方案(cmd中和IDEA中)

解决方案

 先试试 在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窗口)。
      Tomcat 中文乱码解决方案(cmd中和IDEA中)
      Tomcat 中文乱码解决方案(cmd中和IDEA中)
  • idea的日志显示控制台编码

    • windows默认用gbk所以idea显示默认为gbk编码,【一定】在 Help-- custom vm options 添加- Dfile.encoding=UTF-8,强制为utf8编码显示,【不要自己改.vmoptions】可能位置不对,idea会在用户目录复制一个。
      【切忌】自己改tomcat的logging.properties 为GBk 会导致调试时get/post参数乱码