主頁 > 知識庫 > 解決Ajax加載JSon數據中文亂碼問題

解決Ajax加載JSon數據中文亂碼問題

熱門標簽:福建微碼電話機器人 大學校門地圖標注 外呼系統api對接 廣西智能外呼系統多少錢 荊州智能電銷機器人 平涼高德地圖標注商戶要收費嗎 銷售電銷機器人詐騙 提高電話機器人接通率 地圖標注與公司業務關系

一、問題描述

使用zTree的異步刷新父級菜單時,服務器返回中文亂碼,但項目中使用了SpringMvc,已經對中文亂碼處理,為什么還會出現呢?

此處為的異步請求的配置:

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> 

返回的結果有中文亂碼:

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" 
  } 
] 

二、解決方案

經過排查,發現是SpringMvc中文字符處理的supportedMediaTypes少了一種類型。

從瀏覽器發送的請求來看:

異步刷新使用的是post請求,但從服務器返回的時候,Content-Type為:text/plain;charset=ISO-8859-1

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

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

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> 

總結

以上所述是小編給大家介紹的解決Ajax加載JSon數據中文亂碼問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • 用ajax傳遞json到前臺中文出現問號亂碼問題的解決辦法
  • JQuery ajax 返回json時出現中文亂碼該如何解決

標簽:黔東 樂山 衡陽 德陽 婁底 內江 邯鄲 海南

巨人網絡通訊聲明:本文標題《解決Ajax加載JSon數據中文亂碼問題》,本文關鍵詞  解決,Ajax,加載,JSon,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決Ajax加載JSon數據中文亂碼問題》相關的同類信息!
  • 本頁收集關于解決Ajax加載JSon數據中文亂碼問題的相關信息資訊供網民參考!
  • 推薦文章
    2020久久精品亚洲|久久窝窝国产精品午夜看片|亚洲 日韩 激情 无码 中出|国产精品乱码高清在线