在使用easyui獲取json數(shù)據(jù)時(shí),有時(shí)會(huì)遇到中文亂碼的問(wèn)題。這是因?yàn)閑asyui默認(rèn)使用的是UTF-8編碼,而json數(shù)據(jù)中可能存在其他編碼格式的字符。
解決方法如下:
$.ajax({ type: "POST", url: "", dataType: "json", success: function(data){ var jsonData = eval("("+data+")"); //將json字符串轉(zhuǎn)化為json對(duì)象 //以下為解決中文亂碼的代碼 var str = JSON.stringify(jsonData); //將json對(duì)象轉(zhuǎn)化為json字符串 str = decodeURIComponent(str); //對(duì)json字符串進(jìn)行解碼 jsonData = JSON.parse(str); //將json字符串轉(zhuǎn)化為json對(duì)象 } });
其中,使用了JavaScript內(nèi)置的JSON對(duì)象提供的方法:JSON.stringify()和JSON.parse(),分別用于將json對(duì)象轉(zhuǎn)換為json字符串和將json字符串轉(zhuǎn)換為json對(duì)象。
另外,在解決中文亂碼時(shí),還需要對(duì)json字符串進(jìn)行解碼,即使用decodeURIComponent()方法對(duì)json字符串進(jìn)行解碼。
總體來(lái)說(shuō),解決easyui獲取json數(shù)據(jù)中文亂碼的問(wèn)題,需要將json對(duì)象轉(zhuǎn)換為json字符串,對(duì)其進(jìn)行解碼,再將其轉(zhuǎn)換回json對(duì)象,即可解決。
下一篇vue做什么效果