這篇文章主要介紹了如何解決Ajax加載JSon數(shù)據(jù)中文亂碼問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、問題描述
使用zTree的異步刷新父級菜單時,服務器返回中文亂碼,但項目中使用了SpringMvc,已經(jīng)對中文亂碼處理,為什么還會出現(xiàn)呢?
此處為的異步請求的配置:
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)過排查,發(fā)現(xiàn)是SpringMvc中文字符處理的supportedMediaTypes少了一種類型。
從瀏覽器發(fā)送的請求來看:
異步刷新使用的是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數(shù)據(jù)中文亂碼問題”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
名稱欄目:如何解決Ajax加載JSon數(shù)據(jù)中文亂碼問題-創(chuàng)新互聯(lián)
分享URL:http://www.chinadenli.net/article4/deepoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、電子商務、微信小程序、外貿(mào)建站、網(wǎng)站內(nèi)鏈、云服務器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)