Al usar echo json_encode ($ array, JSON_UNESCAPED_UNICODE);json_encode con la opción JSON_UNESCAPED_UNICODE
recibo el este error
Advertencia: json_encode() espera exactamente 1 parámetro, 2 dada
Al usar echo json_encode ($ array, JSON_UNESCAPED_UNICODE);json_encode con la opción JSON_UNESCAPED_UNICODE
recibo el este error
Advertencia: json_encode() espera exactamente 1 parámetro, 2 dada
Su versión de PHP puede ser demasiado baja:
http://php.net/manual/en/function.json-encode.php
string json_encode (mixed $value [, int $options = 0 ])
5.3.0 The options parameter was added
hmm ok y si este es el caso, ¿cómo puedo hacer lo mismo pero con script diferente – Ben
En http://php.net/manual/en/function.json-encode.php hay un comentario con " Reemplazo simple para JSON_UNESCAPED_UNICODE (PHP <5.4 por ejemplo) " – biziclop
@EvenJohnson. 'JSON_UNESCAPED_UNICODE' probablemente no es realmente necesario. Si su versión de PHP es demasiado baja, simplemente prescinde de ella. – TRiG
Ver el parche en http://code.google.com/p/apns-php/issues/detail?id=22 que permite la misma funcionalidad en PHP 5.2.
ejecutar Básicamente algo como esto:
foreach ($array as &$val) {
$val = preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
function($matches) {
return mb_convert_encoding(pack('H*', $matches[1]), 'UTF-8', 'UTF-16');
}, $val);
}
Incluso esto se acerca, esto es técnicamente incorrecto. También PHP 5.4 tiene un error aquí, vea [PHP Bug # 62010 json_decode produce secuencias de bytes inválidas] (https://bugs.php.net/bug.php?id=62010) – hakre
Esto no funciona – user1775671
Se añadió el parámetro 'options' en PHP 5.3.0. –
Y JSON_UNESCAPED_UNICODE agregado en PHP 5.4.0 –
Esto podría ser útil: http://stackoverflow.com/questions/16498286/why-does-the-php-json-encode-function-convert-utf-8-strings-to -hexadecimal-entit –