php json 输出中文乱码的问题怎么处理啊,谢谢
输出后中文\u6ec7\u6c60\u5乱码,{"allcount":"107","listurl":"house","project":[{"projcode":"34...
输出后中文\u6ec7\u6c60\u5乱码,{"allcount":"107","listurl":"house","project":[{"projcode":"3410877100","projname":"\u6ec7\u6c60\u5}]}
展开
5个回答
展开全部
你这串数据原本的php变量应该是一个三维数组的。
如果你的网页编码是utf-8的话,应该可以解决,如果不是,那我就不知道了,
给你个提示,
<?php
$test0=array();
$test0['1']='我你他';
$test0['2']="test";
//将数组遍历,每个变量进行编码
foreach($test0 as $key=>$val){
$test[$key]=urlencode($val);
}
//json化
$test2=json_encode($test);
//变回来,就不会乱码了
$test3=urldecode($test2);
echo $test3;
?>
这样的转化后的json格式个字符串就不会乱码了,不过我这个是一维数组,遍历循环比较简单,你那个json格式的变量应该是一个三维数组(我猜的)。之后靠你自己了,至于上面为什么这么做,网上很多的!希望能帮到你!
如果你的网页编码是utf-8的话,应该可以解决,如果不是,那我就不知道了,
给你个提示,
<?php
$test0=array();
$test0['1']='我你他';
$test0['2']="test";
//将数组遍历,每个变量进行编码
foreach($test0 as $key=>$val){
$test[$key]=urlencode($val);
}
//json化
$test2=json_encode($test);
//变回来,就不会乱码了
$test3=urldecode($test2);
echo $test3;
?>
这样的转化后的json格式个字符串就不会乱码了,不过我这个是一维数组,遍历循环比较简单,你那个json格式的变量应该是一个三维数组(我猜的)。之后靠你自己了,至于上面为什么这么做,网上很多的!希望能帮到你!
更多追问追答
追问
$a = '{"allcount":"107","listurl":"house","project":[{ "projcode":"3410877100", "projname":"eeee", "housecount":"撒大师的"}]}';
$array = json_decode(urlencode($a),1) ;
$rrt=urldecode($array );
echo $array;
那这段代码中文怎么处理啊
追答
撒大师的 这不是没乱码吗,你直接转化就可以变成数组了,
$a=json_decode($a,true);
var_dump($a);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是JSON字符串,里面不能有中文的,这乱码是正常的
追问
中文怎么处理啊
追答
不需要处理,把这个json串 json_decode 一下中文就正常了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
json_decode()就好了,json后的中文本身就是乱码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是想要这种效果吗?
echo json_encode($array,JSON_UNESCAPED_UNICODE);
echo json_encode($array,JSON_UNESCAPED_UNICODE);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询