header("Content-Type:text/html;charset=UTF-8");
$arr=array('1','2','三');
echo $arr['2']."
";
print_r($arr);
echo "
";
print_r(json_encode($arr));
echo "
";
print_r(json_decode(json_encode($arr)));
输出json数据会有 但是 翻译成数组后就行了
你这串数据原本的php变量应该是一个三维数组的。
如果你的网页编码是utf-8的话,应该可以解决,如果不是,那我就不知道了,
给你个提示,
$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格式的变量应该是一个三维数组(我猜的)。之后靠你自己了,至于上面为什么这么做,网上很多的!希望能帮到你!
这是JSON字符串,里面不能有中文的,这乱码是正常的
json_decode()就好了,json后的中文本身就是乱码
是想要这种效果吗?
echo json_encode($array,JSON_UNESCAPED_UNICODE);