idea、eclipse中解决tomcat中文乱码问题

1、catalina.bat中必须设置为UTF-8,如果我不设置为UTF-8,页面接收到的就是乱码了,尝试过各种UTF-8的调试,都无解,最后还是只能在catalina.bat的209行中加上 set “JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8” ,加上UTF-8问题就可以解决了,如下图:
在这里插入图片描述
在这里插入图片描述
注意:如果在idea中加了这句,重启idea没生效的话,重新加一下tomcat并且重新引入下war包试试:
在这里插入图片描述
但是tomcat的命令框和输出日志都是乱码。
2、如果是用编译工具,在IDEA编译器中的VM options:设置-Dfile.encoding=UTF-8,或eclipse 的设置中 改成utf-8 输出的问题可以解决。但是在windows服务器上用tomcat部署的时候,乱码解决不了。

3、在service.xml中,加上UTF-8,试过是无用的,依旧乱码。

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8433" URIEncoding="UTF-8" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8433" URIEncoding="UTF-8"/>

问题原因:

windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。打开的cmd默认编码可能不是utf-8,与系统编码不一致,所以导致乱码。
在这里插入图片描述

解决方法:

修改cmd命令行的编码,打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat(如果你改了tomcat的标题栏,这里就是你打开的命令窗口的名字),找到CodePage项,没有则创建,更改值为十进制的65001,点击确定。
在这里插入图片描述

发布了36 篇原创文章 · 获赞 11 · 访问量 9495

猜你喜欢

转载自blog.csdn.net/fly_77/article/details/94381252