Comment php affiche-t-il les chaînes d'échappement Unicode renvoyées par curl telles que "\u6b22\u8fce\u56de\u6765" ?
淡淡烟草味
淡淡烟草味 2017-05-16 13:05:33
0
2
1581

Le curl de php renvoie la chaîne (42) "{"ret":1,"msg":"u6b22u8fceu56deu6765"}". Vous voulez savoir comment afficher le texte correct ? "u6b22u8fceu56deu6765" correspond à "Bienvenue"

淡淡烟草味
淡淡烟草味

répondre à tous(2)
左手右手慢动作

Si vous pouvez gérer le côté serveur, vous pouvez contrôler si le chinois n'est pas codé via le deuxième paramètre de json_encode.
http://php.net/manual/zh/func...
Si vous ne pouvez pas traiter le serveur, vous pouvez traiter le résultat renvoyé par curl Décodez d'abord json, puis re-json_encode (également contrôlé selon. le deuxième paramètre)

漂亮男人

La personne qui a répondu ne l'a toujours pas expliqué suffisamment en détail, le débutant n'a donc pu chercher que lentement sur Internet... et a trouvé une solution parfaite :

<?php
$arr = array('p1'=>'nihao','p2'=>2,'ch'=>'码农你好!');
$json = json_encode($arr);
echo decodeUnicode($json);

function 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);
}
?>

Référence : http://www.manongjc.com/artic...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal