详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt102
今天在使用spring 的时候,发现中文返回的是乱码。
经过研究发现,主要是@ResponseBody 引起的。主要是由于 @ResponseBody 返回字符串结果的时候,使用了org.springframework.http.converter.StringHttpMessageConverter 中默认的编码。
请看 org.springframework.http.converter.StringHttpMessageConverter :
- public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> {
- public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
- private final List<Charset> availableCharsets;
- private boolean writeAcceptCharset = true;
- public StringHttpMessageConverter() {
- super(new MediaType("text", "plain", DEFAULT_CHARSET), MediaType.ALL);
- this.availableCharsets = new ArrayList<Charset>(Charset.availableCharsets().values());
- }
默认情况下,是ISO-8859-1编码,我们要将ISO-8859-1编码改成utf-8编码。
- public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
我们的解决方法是,在spring-servlet.xml中,加入一个bean
- <bean
- class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
- <property name="messageConverters">
- <list>
- <bean
- class="org.springframework.http.converter.StringHttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <bean class="org.springframework.http.MediaType">
- <constructor-arg index="0" value="text" />
- <constructor-arg index="1" value="plain" />
- <constructor-arg index="2" value="UTF-8" />
- </bean>
- </list>
- </property>
- </bean>
- </list>
- </property>
- </bean>
相关推荐
Spring MVC下彻底解决@ResponseBody转义html特殊字符问题,解决包括尖角号(),单引号('),双引号("),按位与(&),反斜杠(\)。
--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- Support...
下面小编就为大家分享一篇spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要介绍了SpringMVC中解决@ResponseBody注解返回中文乱码问题, 小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了spring boot @ResponseBody转换JSON 时 Date 类型处理方法,主要给大家介绍Jackson和FastJson两种方式,每一种方法给大家介绍的都非常详细,需要的朋友可以参考下
SpringMVC使用@ResponseBody.rar
主要介绍了Springmvc 4.x利用@ResponseBody返回Json数据的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在火狐中显示可能会有问题,大家都是程序员,改个参数就好啦 注解包含: 拦截器 , 过滤器 , 序列化 , @After , @AfterReturning , @AfterThrowing , @annotation , @Around , @Aspect , @Autowired , @Bean , @Before ,...
具体包括三个jar: jackson-databind-2.8.2.jar jackson-core-2.8.2.jar jackson-annotations-2.8.2.jar
Spring MVC中默认的ResponseBody为String的乱码问题.pdfSpring MVC中默认的ResponseBody为String的乱码问题.pdf
springmvc+国际化i18N+springmvc验证+jetbrick-template使用+@responsebody+谷歌guava: 1)围绕springmvc做的国际化 2)围绕springmvc做的验证 3)使用的jetbrick-template模板引擎 ……
NULL 博文链接:https://snowolf.iteye.com/blog/1628861
NULL 博文链接:https://nethub2.iteye.com/blog/2329387
1)spring MVC 中@ResponseBody需要的所有JAR包 2)性能还不错的模板引擎jetbrick-template-2.x 2.x的所需的所有jar包 3)日志jar包:slf4j和logback 所有 4)阿里 druid 连接池jar包 5)mysql数据库链接驱动jar包 6...
主要介绍了关于@ResponseBody 默认输出的误区的解答,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
NULL 博文链接:https://bijian1013.iteye.com/blog/2310236
springmvc进行Jason数据封装转化时可以即使用也是@responsebody对数据进行封装的时候需要的工具类
NULL 博文链接:https://coocaobo.iteye.com/blog/2410629