Maison > Article > développement back-end > Introduction à la façon dont PHP implémente json_decode sans échapper aux méthodes chinoises
Cet article présente principalement la méthode PHP pour implémenter json_decode sans échapper au chinois, et combine le formulaire d'exemple avec une analyse détaillée des techniques de fonctionnement spécifiques et des précautions associées pour les versions php5.4+ et 5.3 pour implémenter json_decode sans échapper au chinois. Ce qui est nécessaire Les amis peuvent se référer à
L'exemple de cet article décrit comment implémenter json_decode en PHP sans échapper au chinois. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Par défaut, la méthode json_decode de PHP échappera aux caractères spéciaux et convertira le chinois en Unicode
forme d'encodage.
Cela rend la visualisation du texte dans la base de données fastidieuse. Il faut donc limiter la fuite des Chinois.
Pour la version PHP5.4+, le deuxième paramètre de la fonction json_decode peut être utilisé pour limiter la plage d'échappement.
Pour limiter le chinois, utilisez le paramètre JSON_UNESCAPED_UNICODE
.
json_encode($a, JSON_UNESCAPED_UNICODE);
Pour la version PHP5.3, vous pouvez d'abord convertir les caractères au dessus de ASCII 127 en valeurs HTML pour éviter d'être transcodé par la fonction json_decode :
function my_json_encode($arr) { //convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding array_walk_recursive($arr, function (&$item, $key) { if (is_string($item)) $item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); }); return mb_decode_numericentity(json_encode($arr), array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!