Cómo hacer que php jsonencode no escape de Unicode
Hay dos métodos
1: La versión de PHP es mayor o igual a 5.4. Cuando use json_encode, agregue el segundo parámetro JSON_UNESCAPED_UNICODE: si //Usa chino de esta manera, lo hará. no se puede escapar
$jsonStr?=?json_encode($data,JSON_UNESCAPED_UNICODE);
2: Si la versión de PHP es inferior a 5.4, puede utilizar este método para decodificar el Unicode code La función de decodificación es la siguiente:/**
*?Porque la versión de php es inferior a?5.4
*?decodeUnicode?Invertir la codificación china Unicode en caracteres chinos
*?@ param?$str?cadena json
*?@return?cadena json escapada
*/
función?decodeUnicode ($str)
{
return?preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
create_function (
'$matches',
'return?mb_convert_encoding(pack("H*",?$matches[1]),?"UTF-8" ,?"UCS -2BE");'
),
$str);
}
//Cómo utilizar
$jsonStr?=?decodeUnicode(json_encode($data));
//O encapsular una función por separado
function?_json_encode($data=array ()){
return?decodeUnicode(json_encode($data));
}