Maison  >  Questions et réponses  >  le corps du texte

php - Une chaîne traitée par urldecode est utilisée dans un élément du tableau, empêchant json_encode de convertir le tableau en chaîne json. Comment résoudre le problème ?

$str = 'Success is 1% inspiration and %99 perspiration';
$urldecodeStr = urldecode($str);
$arr = [
        'doc' => $urldecodeStr
    ];
echo $urldecodeStr; //输出: Success is 1% inspiration and � perspiration
echo "<br>";
var_dump(json_encode($arr));//返回false
  1. Quelle est la raison pour laquelle json_encode ne peut pas être converti ?

  2. Existe-t-il un moyen d'utiliser $urldecodeStr的数组$arr pour être normalement encodé dans une chaîne json par json_encode ?

淡淡烟草味淡淡烟草味2704 Il y a quelques jours581

répondre à tous(3)je répondrai

  • 天蓬老师

    天蓬老师2017-05-24 11:35:54

    Question

    1.json_encode ne peut pas être converti en raison de problèmes d'encodage. Lorsque $str est converti en u8, %99 est un code tronqué.
    2. À l’heure actuelle, je ne sais pas ce que vous obtenez %99.
    3. Après le décodage de l'URL, la sortie sera tronquée

    Solution

    1. Utilisez la fonction iconv pour transcoder $str
    2 Supprimez %99 (bien sûr, cela dépend de vous)

    .

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-24 11:35:54

    Pourquoi directement décoder la chaîne non codée par url

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-24 11:35:54

    Il y a peut-être un problème avec la corde. . . En principe, json ne prend en charge que l'encodage UTF-8

    répondre
    0
  • Annulerrépondre