一、catalina.bat中必须设置为UTF-8,若是我不设置为UTF-8,页面接收到的就是乱码了,尝试过各类UTF-8的调试,都无解,最后仍是只能在catalina.bat的set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8" ,加上UTF-8问题就能够解决了,可是tomcat的命令框和输出日志都是乱码。html
二、若是是用编译工具,在IDEA编译器中的VM options:设置-Dfile.encoding=UTF-8,或eclipse 的设置中 改为utf-8 输出的问题能够解决。可是在windows服务器上用tomcat部署的时候,乱码解决不了。windows
三、在service.xml中,加上UTF-8,试过是无用的,依旧乱码。tomcat
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8433" URIEncoding="UTF-8" />eclipse
<Connector port="8009" protocol="AJP/1.3" redirectPort="8433" URIEncoding="UTF-8"/>工具
问题缘由:
windows默认编码集为GBK,因为使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。打开的cmd默认编码可能不是utf-8,与系统编码不一致,因此致使乱码。post
解决方法:
修改cmd命令行的编码,打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat(若是你改了tomcat的标题栏,这里就是你打开的命令窗口的名字),找到CodePage项,没有则建立,更改值为十进制的65001,点击肯定。编码