请求和响应乱码处理
默认情况下,SpringMVC 对中文的支持不高,很容易出现中文乱码问题。
Tomcat 默认使用字符集ISO-8859-1
,属于西欧字符集,并不支持中文,解决乱码的核心思路是将ISO-8859-1
转换为UTF-8
Controller
中请求与响应都需要设置UTF-8
字符集。
解决get请求乱码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
解决POST请求中文乱码
在web.xml
中添加过滤器
<filter>
<filter-name>characterFilter</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>characterFilter</filter-name>
<!--对所有URL进行拦截-->
<url-pattern>/*</url-pattern>
</filter-mapping>
解决response中文乱码
在springmvc.xml
文件中,添加一个转换器
<mvc:annotation-driven conversion-service="conversionService">
<mvc:message-converters>
<!--StringHttpMessageConverter对响应中的文本消息进行转换-->
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>test/html;charset=utf-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
如果你是要响应JSON内容
最后更新于
这有帮助吗?