本文记录自己在解决tomcat运行 WEB时产生乱码的解决情况,一般情况在conf/service.xml和在bin/catalina.bat下修改,这两个方法很多文章可以参考。
我的情况是在eclipse中设置了workSpace编码为UTF-8,开发的时候没有乱码,直接通过tomcat启动就会有乱码,这就是JVM虚拟机运行环境编码设置问题,属于后台编码bug,不同的启动方式通过不同的设置方法来规范JVM编码。
本文包括在service.xml、catalina.bat和service.bat中修改UTF-8编码,不包括启动窗口里面的编码。
一、Service.xml中修改(前端后台的传输乱码)
当我们在前端和后台之间传输数据有乱码情况时,可以参考在conf/service.xml中进行以下设置。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
<!-- URIEncoding用于%XX编码之后解码的字符编码-->
URIEncoding="UTF-8"
<!--useBodyEncodingForURI使用http header中指定charset进行decode,默认值ISO-8859-1-->
useBodyEncodingForURI="tru