解决乱码问题最好全程使用 utf-8 编码,具体需要设置的点包括:
1、页面内容使用 utf-8 格式保存,在页面中加入 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 和 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
2、服务器端的 server.xml 中设定 useBodyEncodingForURI = true,位置如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" useBodyEncodingForURI="true"/>
3、使用过滤器,过滤器设定编码为 utf-8
对此Spring已经提供了现成的过滤器可供配置,具体做法是在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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>