Sebagai contoh
$data = 'Baidu�Tencent,Alibaba';
$data1 // ialah pembolehubah apabila dicetak, ia ialah 'Baidu�Tencent, Alibaba'
var_dump($data);
var_dump($data1);
Cetak hasil:
$data: rentetan(24) "Baidu�Tencent, Alibaba"
$data1:string(22) "Baidu�Tencent, Alibaba"
$keywordsData = json_encode($data, JSON_UNESCAPED_UNICODE);
$keywordsData1 = json_encode($data1, JSON_UNESCAPED_UNICODE);
var_dump($keywordsData);
var_dump($keywordsData1);
Cetak hasil:
kata kunciData:string(26) ""Baidu�Tencent, Alibaba""
keywordsData1:bool(false)
Kenapa ini? Saya ingin mendapatkan pembolehubah secara langsung, tetapi sekarang saya menghadapi masalah ini, sila jawab, terima kasih
Dua pembolehubah adalah berbeza Walaupun kedua-duanya adalah rentetan, satu mempunyai panjang 24 dan satu lagi mempunyai panjang 22. Yang kedua jelas tidak dikodkan UTF8, jadi
json_encode
sudah tentu akan menjadi. salah.json_encode
当然会错误。你可以先检测下字符串编码,
Anda boleh mengesan pengekodan rentetan dahulu,mb_detect_encoding
,然后再转成UTF8,mb_convert_encoding
mb_detect_encoding
dan kemudian menukarnya kepada UTF8,mb_convert_encoding
. 🎜