欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Ajax加載JSon數(shù)據(jù)中文亂碼問(wèn)題

 更新時(shí)間:2017年10月23日 14:44:27   作者:凡塵煉心  
這篇文章主要介紹了解決Ajax加載JSon數(shù)據(jù)中文亂碼問(wèn)題,需要的朋友可以參考下

一、問(wèn)題描述

使用zTree的異步刷新父級(jí)菜單時(shí),服務(wù)器返回中文亂碼,但項(xiàng)目中使用了SpringMvc,已經(jīng)對(duì)中文亂碼處理,為什么還會(huì)出現(xiàn)呢?

此處為的異步請(qǐng)求的配置:

Java代碼 

async: { 
  enable: true, 
  url: basePath + '/sysMenu/listSysMenu', 
  autoParam: ["id=parentId"] 
} 

SpringMvc中文字符處理:

Java代碼 

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

返回的結(jié)果有中文亂碼:

Js代碼 

[ 
  { 
    "menuId": "880095098165986816", 
    "menuName": "????", 
    "parentId": "880095098165986815", 
    "menuUrl": "http://localhost:8080/imovie-manage/sysMenu/listSysMenuUI", 
    "menuIcon": "", 
    "menuSort": 1, 
    "isEnable": 1, 
    "parentMenuName": "??", 
    "id": "880095098165986816", 
    "name": "????", 
    "pId": "880095098165986815" 
  }, 
  { 
    "menuId": "880095098165986817", 
    "menuName": "???????", 
    "parentId": "880095098165986815", 
    "menuUrl": "http://localhost:8080/imovie-manage/sysMenu/treeSysMenuUI", 
    "menuIcon": "", 
    "menuSort": 1, 
    "isEnable": 1, 
    "parentMenuName": "??", 
    "id": "880095098165986817", 
    "name": "???????", 
    "pId": "880095098165986815" 
  } 
] 

二、解決方案

經(jīng)過(guò)排查,發(fā)現(xiàn)是SpringMvc中文字符處理的supportedMediaTypes少了一種類型。

從瀏覽器發(fā)送的請(qǐng)求來(lái)看:

異步刷新使用的是post請(qǐng)求,但從服務(wù)器返回的時(shí)候,Content-Type為:text/plain;charset=ISO-8859-1

charset是ISO-8859-1,而不是UTF-8,而SpringMvc處理的中文亂碼沒(méi)有包含這種類型,所以導(dǎo)致中文亂碼。

所以最后的解決方法是在SpringMvc中文處理加上text/plain這個(gè)類型,如下:

Java代碼

<value>text/plain;charset=UTF-8</value> 

 具體如下:

Java代碼

<property name="supportedMediaTypes"> 
  <list> 
    <value>application/json;charset=UTF-8</value> 
  <value>text/html;charset=UTF-8</value> 
  <value>text/plain;charset=UTF-8</value> 
  </list> 
</property> 

總結(jié)

以上所述是小編給大家介紹的解決Ajax加載JSon數(shù)據(jù)中文亂碼問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論