spring+mybatis通过@ResponseBody返回结果中文乱码的解决方法

问题发生:

站在用户的角度思考问题,与客户深入沟通,找到湖州网站设计与湖州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站设计、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟主机、企业邮箱。业务覆盖湖州地区。

通过@Responsebody返回

@ResponseBody
@RequestMapping(value ="/selectByFormId",method = RequestMethod.GET)
public Map<String,Object> getClassName(String formId){
  List<String> list =formInfoService.selectClassName(formId);
  Map<String,Object> map = new HashMap<String, Object>();
  map.put("data", list);
  map.put("status", true);
  return map;
}

结果:

{"data":["璧勮璇疯喘绫�","淇冮攢绫�","绠$悊绫�","鏆傛敮绫�","鍌ㄨ繍绫�","璧勪骇绫�","璧勮鏈嶅姟绫�","宸梾绠$悊绫�",<br>"閲囪喘绫�","浜轰簨鑰冨嫟绫�","璐㈠姟绫�","瀹㈡埛绫�","瑙嗘嫇绫�","瀹㈣瘔绫�","浜轰簨娲诲姩绫�","浜轰簨琛屾斂绫�","鍏枃绫�",<br>"璇锋绫�","閿?绠$被","钀ヨ繍涓氬姟绫�"],"status":true}

解决办法:

在spring-mvc.xml中配置

<!-- 解决ResponseBody 乱码问题StringHttpMessageConverter这个转换器转换时,父类AbstractHttpMessageConverter的supportedMediaTypes属性默认是iso-8895-1导致 -->           
  <mvc:annotation-driven> 
    <mvc:message-converters> 
      <bean class="org.springframework.http.converter.StringHttpMessageConverter"> 
        <property name="supportedMediaTypes" value="text/html;charset=utf-8"></property> 
      </bean> 
    </mvc:message-converters> 
  </mvc:annotation-driven> 

但是配置完后又有了新的问题

error:...cvc-complex-type.2.1: 元素 'mvc:annotation-driven' 必须不含字符或元素信息项 [子级], 因为该类型的内容类型为空。

后来知道是 springMVC的XSD文件版本不对,换成springMVC 4.0的 XSD就可以了

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xsi:schemaLocation="http://www.springframework.org/schema/beans  
            http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
            http://www.springframework.org/schema/context  
            http://www.springframework.org/schema/context/spring-context-3.1.xsd  
            http://www.springframework.org/schema/mvc  
            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

然后就ok了

{"data":["资讯请购类","促销类","管理类","暂支类","储运类","资产类","资讯服务类","差旅管理类","采购类","人事考勤类"<br>,"财务类","客户类","视拓类","客诉类","人事活动类","人事行政类","公文类","请款类","销管类","营运业务类"],"status":true}
StringHttpMessageConverter 这个方法 有很多转换作用,有时间可以多看看

以上这篇spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。

网页名称:spring+mybatis通过@ResponseBody返回结果中文乱码的解决方法
网站URL:https://www.cdcxhl.com/article28/ghccjp.html

成都网站建设公司_创新互联,为您提供移动网站建设动态网站企业建站响应式网站网站排名

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发