问题叙述
使用Tomcat跑项目时会出现一些莫名的乱码问题,如图:
查找办法提示是因为Tomcat的设置问题,很多文章都推荐在catalina.bat
中加这么set JAVA_OPTS=-Xms512m -Xms1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8
一句话,比如这篇。
但是加完之后Tomcat却无法启动了,报错Unable to ping server at localhost:1099
。
问题原因
为什么不能让设置jvm参数,如果你是在运行IDEA时出现了这个问题,则是因为tomcat中配置的JAVA_OPTS把IDEA的JAVA_OPTS覆盖了。
也就是说IDEA中已经配置了这个参数,所以想要配置这个jvm参数,就可以直接在idea中配置这个JAVA_OPTS参数即可。
解决办法
-
直接在IDEA中为tomcat设置参数,依然是前面那句话把开头去了就可以
-
不放心的话还可以设置一下IDEA的全局参数
加一句-Dfile.encoding=UTF-8
。
更彻底的解决
如果还是没有解决,再试试下面这些办法。
修改项目空间编码
File->Settings->Editor->File Encodings
最下面的小框记得勾选上
修改Tomcat中的相关配置
步骤一: 修改Tomcat配置文件,增加UTF-8编码
更改Tomcat的conf文件夹下的service.xml配置,增加URIEncoding="UTF-8",具体如下:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
发现启动情况仍无改变
步骤二: 更改idea配置,设置编码为UTF-8
参考上面方法
步骤三: 修改tomcat的conf下的logging.properties中的参数
将java.util.logging.ConsoleHandler.encoding = UTF-8
改为
java.util.logging.ConsoleHandler.encoding = GBK
成功解决
参考文章:https://blog.csdn.net/maoyuanming0806/article/details/78154551、https://www.cnblogs.com/xianyao/p/11006220.html、https://blog.csdn.net/weixin_33941350/article/details/93449685