• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    springmvc 发送ajax出现中文乱码的解决方法汇总

    使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的??,研究了一下,有几种解决办法。 

    我使用的是sping-web-3.2.2,jar

      方法一:

      在@RequestMapping里面加入produces = "text/html;charset=UTF-8"

    @RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "text/html;charset=UTF-8") 
    public @ResponseBody String configrole() { 
     ...... 
    } 

    方法二:

    因为在StringHttpMessageConverter里面默认设置了字符集是ISO-8859-1
    所以拿到源代码,修改成UTF-8并打包到spring-web-3.2.2.jar

    public class StringHttpMessageConverter extends AbstractHttpMessageConverterString> 
    { 
     public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); 
     .......... 
    }

    方法三:

    修改org.springframework.http.MediaType它的构造方法的参数,并在applicationContext-mvc.xml 加入配置

    public MediaType(String type, String subtype, Charset charset) { 
      super(type, subtype, charset); 
    } 

    Xml代码 

    bean id="stringHttpMessageConverter" 
      class="org.springframework.http.converter.StringHttpMessageConverter"> 
      property name="supportedMediaTypes"> 
        list> 
          bean class="org.springframework.http.MediaType"> 
            constructor-arg value="text" /> 
            constructor-arg value="plain" /> 
            constructor-arg value="UTF-8" /> 
          /bean> 
        /list> 
      /property> 
    /bean> 

    方法4

    org.springframework.http.converter.StringHttpMessageConverter类是处理请求或相应字符串的类,并且默认字符集为ISO-8859-1,所以在当返回json中有中文时会出现乱码。

    StringHttpMessageConverter的父类里有个ListMediaType> supportedMediaTypes属性,用来存放StringHttpMessageConverter支持需特殊处理的MediaType类型,如果需处理的MediaType类型不在supportedMediaTypes列表中,则采用默认字符集。

    解决办法,只需在配置文件中加入如下代码:

    mvc:annotation-driven>
    mvc:message-converters>
     bean class="org.springframework.http.converter.StringHttpMessageConverter">
    property name="supportedMediaTypes">
    list>
     value>application/json;charset=UTF-8/value>
    /list>
    /property>
    /bean>
    /mvc:message-converters>
    /mvc:annotation-driven>

    如果需要处理其他 MediaType 类型,可在list标签中加入其他value标签

    关于springmvc 发送ajax出现中文乱码问题小编就给大家介绍到这里,希望对大家有所帮助!

    您可能感兴趣的文章:
    • springMVC向Controller传值出现中文乱码的解决方案
    • 解决SpringMVC、tomcat、Intellij idea、ajax中文乱码问题
    • SpringMVC post请求中文乱码问题解决
    • SpringMvc后台接收json数据中文乱码问题详解
    • 解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题
    • 解决SpringMvc后台接收json数据中文乱码问题的几种方法
    • SpringMVC中解决@ResponseBody注解返回中文乱码问题
    • 解决springmvc+mybatis+mysql中文乱码问题
    • SpringMVC 中文乱码的解决方案
    上一篇:Django框架利用ajax实现批量导入数据功能
    下一篇:AJAX XMLHttpRequest对象详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    springmvc 发送ajax出现中文乱码的解决方法汇总 springmvc,发送,ajax,出现,中文,