最近遇到个怪问题,在本地是好好的,不会有乱码,结果部署到服务器上乱码了。经过多种尝试,排除,发现是tomcat没有设置编码格式造成的。记录下来,以备不时之需。
第一步:在web.xml里加入编码过虑器。代码如下:
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
第二步:一般在tomcat上都设置下编码格式,以防乱码:在tomcat\conf\server.xml上加上以下代码:
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
到这里就结束了,有时乱码还有可能是数据库编码跟java编码不一致也会导致这样的问题。