$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
Apakah sebab mengapa json_encode tidak boleh ditukar?
Adakah terdapat cara untuk menggunakan $urldecodeStr
的數(shù)組$arr
untuk dikodkan secara biasa ke dalam rentetan json oleh json_encode?
1.json_encode tidak boleh ditukar kerana masalah pengekodan Apabila $str ditukar kepada u8, %99 adalah kod yang tidak betul.
2 Pada masa ini, saya tidak tahu apa yang anda dapat %99.
3 Selepas anda urldecode, output akan bercelaru
1 Gunakan fungsi iconv untuk menukar kod $str
2
Mungkin ada masalah dengan rentetan. . . Pada dasarnya, json hanya menyokong pengekodan UTF-8