Red de conocimiento informático - Conocimiento informático - Cómo hacer que php jsonencode no escape de Unicode

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. 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?Invierte 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));

}