spring+mybatis 通過@ResponseBody返回結(jié)果中文亂碼的解決方法
問題發(fā)生:
通過@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; }
結(jié)果:
{"data":["璧勮璇瘋喘綾�","淇冮攢綾�","綆$悊綾�","鏆傛敮綾�","鍌ㄨ繍綾�","璧勪駭綾�","璧勮鏈嶅姟綾�","宸梾綆$悊綾�",<br>"閲囪喘綾�","浜轟簨鑰冨嫟綾�","璐㈠姟綾�","瀹㈡埛綾�","瑙嗘嫇綾�","瀹㈣瘔綾�","浜轟簨媧誨姩綾�","浜轟簨琛屾斂綾�","鍏枃綾�",<br>"璇鋒綾�","閿€綆$被","钀ヨ繍涓氬姟綾�"],"status":true}
解決辦法:
在spring-mvc.xml中配置
<!-- 解決ResponseBody 亂碼問題StringHttpMessageConverter這個轉(zhuǎn)換器轉(zhuǎn)換時,父類AbstractHttpMessageConverter的supportedMediaTypes屬性默認(rèn)是iso-8895-1導(dǎo)致 --> <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' 必須不含字符或元素信息項(xiàng) [子級], 因?yàn)樵擃愋偷膬?nèi)容類型為空。
后來知道是 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":["資訊請購類","促銷類","管理類","暫支類","儲運(yùn)類","資產(chǎn)類","資訊服務(wù)類","差旅管理類","采購類","人事考勤類"<br>,"財(cái)務(wù)類","客戶類","視拓類","客訴類","人事活動類","人事行政類","公文類","請款類","銷管類","營運(yùn)業(yè)務(wù)類"],"status":true}
StringHttpMessageConverter 這個方法 有很多轉(zhuǎn)換作用,有時間可以多看看
以上這篇spring+mybatis 通過@ResponseBody返回結(jié)果中文亂碼的解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 詳解SpringBoot中添加@ResponseBody注解會發(fā)生什么
- 詳解SpringBoot定制@ResponseBody注解返回的Json格式
- SpringBoot使用@ResponseBody返回圖片的實(shí)現(xiàn)
- 解決使用@ResponseBody后返回500錯誤的問題
- 關(guān)于@ResponseBody 默認(rèn)輸出的誤區(qū)的解答
- spring boot @ResponseBody轉(zhuǎn)換JSON 時 Date 類型處理方法【兩種方法】
- Springmvc 4.x利用@ResponseBody返回Json數(shù)據(jù)的方法
- springMvc注解之@ResponseBody和@RequestBody詳解
- SpringMVC中解決@ResponseBody注解返回中文亂碼問題
- @ResponseBody 和 @RequestBody 注解的區(qū)別
- SpringMVC注解之@ResponseBody注解原理
相關(guān)文章
SpringBoot實(shí)現(xiàn)PDF添加水印的三種方法
本文主要介紹了SpringBoot實(shí)現(xiàn)PDF添加水印的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07深入理解Java中的HashMap的實(shí)現(xiàn)機(jī)制
這篇文章主要介紹了深入理解Java中的HashMap的實(shí)現(xiàn)機(jī)制,同時也有助于理解Java中對于哈希函數(shù)的相關(guān)處理方式,需要的朋友可以參考下2015-07-07java 多線程Thread與runnable的區(qū)別
這篇文章主要介紹了java 多線程Thread與runnable的區(qū)別的相關(guān)資料,java線程有兩種方法繼承thread類與實(shí)現(xiàn)runnable接口,下面就提供實(shí)例幫助大家理解,需要的朋友可以參考下2017-08-08Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator詳解
這篇文章主要為大家介紹了Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10