关于responseBody注解中文乱码的问题解决
Posted 陈扬天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于responseBody注解中文乱码的问题解决相关的知识,希望对你有一定的参考价值。
在web.xml中定义字符集过滤器:
<filter> <filter-name>SpringEncodingFilter</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>SpringEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
如果这样仍然不起作用,则需要在spring-mvc.xml中配置如下bean:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" > <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=utf-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> </list> </property> </bean>
值得一提的是,@ResponseBody注解是通过在spring-mvc.xml中配置的 <mvc:annotation-driven></mvc:annotation-driven>来启用的,所以上述bean必须写在 <mvc:annotation-driven></mvc:annotation-driven>的前边,否则是不起作用的。
以上是关于关于responseBody注解中文乱码的问题解决的主要内容,如果未能解决你的问题,请参考以下文章
解决spring-mvc @responseBody注解返回json 乱码问题
spring 3.0 @ResponseBody注解返回中文问号乱码解决办法
关于springmvc 使用注解@responsebody 显示到浏览器出现乱码的问题
Spring MVC @ResponseBody注解返回值中文乱码问题