通过JQuary的$.ajax获取json文件无法正常显示中文内容,如何解决? 5
比如有一个a.json文件,其内容为:{"addressList":[{"contact_name":"小明","mobile_phone":"123456"}]}通过J...
比如有一个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中的内容,中文部分无法正常显示(非中文内容均正常),如图:
能否仅通过客户端代码解决上述问题? 展开
{
"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中的内容,中文部分无法正常显示(非中文内容均正常),如图:
能否仅通过客户端代码解决上述问题? 展开
3个回答
展开全部
json后台吧中文用URIEncoder转二次码,然后前台js用URLDecoder解两次码
即:汉字在前台要两次编码,如:val=encodeURI(encodeURI(val) )
后台处理:val = URIDecoder.decode(URIDecoder.decode(val,"UTF-8"),"utf-8");
即:汉字在前台要两次编码,如:val=encodeURI(encodeURI(val) )
后台处理:val = URIDecoder.decode(URIDecoder.decode(val,"UTF-8"),"utf-8");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在页面<head>标签中添加
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
看看行不行
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
看看行不行
更多追问追答
追问
很感谢您的回答,但是依然不行。
追答
如果用的是jsp,将最上面的这句话改为这个看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你尝试下decodeURI()和unescape()这两个方法转化下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询