SpringMVC的@ResponseBody返回JSON,中文乱码问题的解决.

SpringMVC的@ResponseBody,返回json,如果有中文显示乱码的解决办法.

在SpringMVC的配置文件中

<bean  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    </bean>

查看了AnnotationMethodHandlerAdapter的源码,发现其默认编码为构造参数有StringHttpMessageConverter对象。

继续深入查看,发现StringHttpMessageConverter的默认编码竟然是“ISO-8859-1”,难怪在用utf-8显示的时候会显示乱码。

下面是解决方案:

在AnnotationMethodHandlerAdapter中,自定义StringHttpMessageConverter的编码格式为UTF-8即可。

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class = "org.springframework.http.converter.StringHttpMessageConverter">
                <property name = "supportedMediaTypes">
                      <list>
                          <value>text/html;charset=UTF-8</value>
                     </list>
                </property>
             </bean>
            </list>
        </property>
    </bean>
时间: 2024-10-01 10:48:47

SpringMVC的@ResponseBody返回JSON,中文乱码问题的解决.的相关文章

SpringMVC 使用@ResponseBody返回json 中文乱码

这确实是个蛋疼的问题,Spring中解析字符串的转换器默认编码居然是ISO-8859-1 既然找到问题了,那就必须想办法改过来,不同版本的Spring好像方法还不一样,网上不少说的都是Spring3.*的,现在Spring4早都出来了 更改方式可以参考 http://stackoverflow.com/questions/3616359/who-sets-response-content-type-in-spring-mvc-responsebody http://www.cnblogs.com

SSM框架:解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码

场景: 在实际运用场景中,当前台发起请求后,我们需要从后台返回数据给前台,这时,如果返回的数据中包含中文,则经常会出现在后台查询出来都是好好,但是传输回去就莫名的乱码了,而且,我们明明已经在 web.xml 中进行编码过滤了,但还是乱码,让人很头疼. 解决办法: 第一种:这种方法,估计很多人都知道,那就在 controller 中的每个方法的  @RequestMappering 注解中进行编码设置,如下所示: @RequestMapping(value = "/queryUserById&qu

Spring 3.0.5 @ResponseBody 返回json中文乱码

要重写AbstractHttpMessageConverter类: 具体内容如下: package com.ylzinfo.util; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import

解决springmvc返回json中文乱码

在pringmvc中通过设置@ResponseBody返回json乱码问题,这个问题上网找了很久,发现答案真是人云亦云,奉上我的解决方案: 解决方案一:需要导入 jackson-core-asl-1.9.11.jarjackson-mapper-asl-1.9.11.jar 包,其目的是设置了返回json的格式 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter

Android Volley 框架JSON中文乱码问题的解决

近期在项目中使用Volley作为网络通信框架,却发现在传输中文时会出现乱码.先交代一下项目的软硬件的基础设施 线上: Django+restful_framework+monogdb APP: Android + volley 在使用android端测试之前,我使用了chrome中的Postman这款插件进行了测试,发现,中文读取是正常的.说明服务器返回的是UTF-8字符编码的数据. 但是为什么在Android端会出现乱码的现象呢. 我在想是不是本地端的字符编码出了问题? 我就是用String类

springmvc 通过@ResponseBody 返回json的中文乱码解决方案2个

1.方法上面的RequestMapping要加上红色的部分.   @ResponseBody     @RequestMapping(value = "/search", produces = {"application/json;charset=UTF-8"})    public String search(HttpServletRequest request, HttpServletResponse response) { 2.推荐方式:在springmvc-

springMVC使用@ResponseBody返回json

json格式:{"totle":22,"rows":"sss"} map格式:{totle=22, rows=sss} 一.springMVC4的配置: 1.需要的jar包: 2.springMVC.xml <bean id="messageAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandler

spring 3 mvc 的 @ResponseBody返回数据中文乱码

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.StringHttpMessageConverte

springmvc @ResponseBody返回json 报406 not acceptable

今天在做springmvc的@ResponseBody返回json的例子时,碰到了这样一个问题"406 (Not Acceptable)",百度之后发现在缺了一个依赖包jackson-databind. 1.spring-mvc.xml配置文件 2.pom.xml文件 [email protected]代码