结果数组如下
$array = array(array('nome'=>'Paição','cidade'=>'São Paulo'),array('nome'=>'Paição','cidade'=>'São Paulo'));
当我在PHP中使用json_encode编码相同的数组时它返回的不是相同的数组它返回如下json字符串
$json = json_encode($array);
$result = [{"nome":"Paiu00e7u00e3o","cidade":"Su00e3o Paulo"},{"nome":"Paiu00e7u00e3o","cidade":"Su00e3o Paulo"}]
请任何人有想法转换这个数组为相同的字符在php
谢谢,
使用 JSON_UNESCAPED_SLASHES
在json_encode.
像这样做
<?php
$array = array(array('nome'=>'Paição','cidade'=>'São Paulo'),array('nome'=>'Paição','cidade'=>'São Paulo'));
$json = json_encode($array,JSON_UNESCAPED_UNICODE);
echo $json;
我找到了解决方案,谁使用以下5.4 php版本,
$arr = array(array('nome'=>'Paição','cidade'=>'São Paulo'),array('nome'=>'Paição','cidade'=>'São Paulo'));
$array = preg_replace("/\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", json_encode($arr));
以上结果与传递值
相同[{"nome":"Paição","cidade":"São Paulo"},{"nome":"Paição","cidade":"São Paulo"}]
,你还必须设置mysql_query(" set NAMES utf8");
尝试使用这个函数包装整个json_encode():
utf8_encode(json_encode());
另一方面,如果你要做的是从mysql发送和解析数据,你应该定义到utf8的连接:
$conn= mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
mysqli_set_charset($conn,'utf8');