php json 输出中文乱码的问题怎么处理啊,谢谢

2025-01-31 23:55:36
推荐回答(5个)
回答1:

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数据会有 但是 翻译成数组后就行了

回答2:

你这串数据原本的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格式的变量应该是一个三维数组(我猜的)。之后靠你自己了,至于上面为什么这么做,网上很多的!希望能帮到你!

回答3:

这是JSON字符串,里面不能有中文的,这乱码是正常的

回答4:

json_decode()就好了,json后的中文本身就是乱码

回答5:

是想要这种效果吗?
echo json_encode($array,JSON_UNESCAPED_UNICODE);