求助大神们,通过JQuary的$.ajax获取json文件无法正常显示中文内容,情况如下所示?

比如有一个a.json文件,其内容为:
{
"addressList":
[
{"contact_name":"小明","mobile_phone":"123456"}
]
}
通过JavaScript读取文件中的内容:
var data;
//省略部分代码
function loadAjaxData()
{
$.ajax("a.json",{
complete:function(xhr)
{
getData(xhr.responseText);
},
dataType:'text',
error:function()
{
alert("暂时无法读取信息!");
}
});
}
function getData(string)
{
if(window.JSON!=undefined)
{
data=JSON.parse(string);
}
else
{
data=eval("("+string+")");
}
}
如果输出data中的内容,中文部分无法正常显示(非中文内容均正常),如图:

能否仅通过客户端代码解决上述问题?

互换的青春
浏览 359回答 4
4回答

汪汪一只猫

json后台吧中文用URIEncoder转二次码,然后前台js用URLDecoder解两次码即:汉字在前台要两次编码,如:val=encodeURI(encodeURI(val) )后台处理:val = URIDecoder.decode(URIDecoder.decode(val,"UTF-8"),"utf-8");

RISEBY

在页面<head>标签中添加<meta http-equiv="Content-Type" content="text/html; charset=gbk" />看看行不行

慕后森

你尝试下decodeURI()和unescape()这两个方法转化下
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
JQuery