Maison  >  Article  >  développement back-end  >  Comment résoudre les caractères chinois tronqués de la fonction json_decode en PHP ?

Comment résoudre les caractères chinois tronqués de la fonction json_decode en PHP ?

Guanhui
Guanhuioriginal
2020-07-21 16:00:175308parcourir

Comment résoudre les caractères chinois tronqués de la fonction json_decode en PHP ?

Comment résoudre le code chinois tronqué de la fonction json_decode en PHP ?

Solution au code chinois tronqué de la fonction json_decode en PHP : 1. Utilisez la fonction "urldecode()" pour décoder les données, puis effectuez le décodage JSON après le décodage. La fonction de sa fonction est de décoder. la chaîne d'URL codée ; 2. , Lors de l'encodage du JSON, n'encodez simplement pas le chinois.

Exemple de code

<?php
    $testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
    echo json_encode($testJSON);
?>

查看输出结果为:
{“name”:”\u4e2d\u6587\u5b57\u7b26\u4e32″,”value”:”test”}
可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:


<?php
    $testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
    //echo json_encode($testJSON);
    foreach ( $testJSON as $key => $value ) {
        $testJSON[$key] = urlencode ( $value );
    }
    echo urldecode ( json_encode ( $testJSON ) );
?>


查看输出结果为:



{“name”:”中文字符串”,”value”:”test”}

Tutoriel recommandé : "PHP"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn