SpringMVC解决请求中文乱码
一、Get方式请求乱码
这里提供两种解决办法:
-
修改tomcat配置文件server.xml:找到如下代码块: 添加URIEncoding="utf-8" <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
-
对request获取的参数重新进行编码: String user = new String(request.getParamter("user").getBytes("ISO8859-1"), "utf-8")`在这里插入代码片`
因为tomcat默认编码是ISO8859-1,需要将其按utf-8编码。
二、Post方式请求乱码
在项目web.xml文件中配置全局乱码过滤器(注意:CharacterEncodingFilter一定要放在其他filter之前,否则无法解决问题)
代码如下(示例):
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- encoding:解决POST请求乱码 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!-- forceEncoding:顺便解决响应乱码 -->
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>
|