服务器为tomcat 8.5的情况

1.修改tomcat的配置文件

2.打开idea,修改其虚拟机配置

加一行代码:

-Dfile.encoding=UTF-8

这样应该可以解决问题了。

服务器为tomcat 9.0的情况

1.同上

2.同上

至此如果还是没有解决的话就参考第三步

3.     -Dfile.encoding=UTF-8

至此,重启idea,idea中使用的tomcat重新配置。应该可以解决了。

小结:

  • 首先要分清是tomcat日志编码,与idea的日志显示控制台编码

  • tomcat日志编码:cmd内 "cd /d tomcat根目录" "bin\catalina.bat run" 运行,"chcp65001"切换cmd为utf8,"chcp 936"切换cmd为gbk,确定tomcat日志编码,一般因为tomcat/conf/logging.properties java.util.logging.ConsoleHandler.encoding = UTF-8已设置为utf8

  • idea显示编码:windows默认用gbk所以idea显示默认为gbk编码,【一定】在 Help-- custom vm options 添加-Dfile.encoding=UTF-8,强制为utf8编码显示,不要自己改.vmoptions可能位置不对,idea会在用户目录复制一个

  • 【切忌】自己改tomcat的logging.properties 为GBk 会导致调试时get/post参数乱码

实际上,就是 新版本的tomcat 默认编码是 UTF-8,而 windows 的系统 默认是 GBK。当 tomcat 启动时,需要将 UTF-8编码格式的日志文件传给 windows 操作系统,windows 编解码都是 GBK,导致 传给 IDEA 的时候乱码,从而IDEA 的控制台 出现乱码。根源就是 windows 系统的 默认编码 为 GBK。解决:在 CMD中更改 windows 操作系统的 为 UTF-8即可, 管理员身份 打开 cmd, 执行命令 chcp 65001 即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐