Par exemple
$data = 'Baidu�Tencent,Alibaba';
$data1 // est une variable une fois imprimée, c'est 'Baidu�Tencent, Alibaba'
.var_dump($data);
var_dump($data1);
Résultats d'impression :
$data: string(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);
Résultats d'impression :
keywordsData:string(26) ""Baidu�Tencent, Alibaba""
keywordsData1:bool(false)
Pourquoi est-ce ? Je veux obtenir la variable directement, mais maintenant je rencontre ce problème, veuillez répondre, merci
Les deux variables sont différentes. Bien qu'elles soient toutes deux des chaînes, l'une a une longueur de 24 et l'autre une longueur de 22. La seconde n'est évidemment pas codée en UTF8, donc
json_encode
le sera bien sûr. faux.json_encode
当然会错误。你可以先检测下字符串编码,
Vous pouvez d'abord détecter l'encodage de la chaîne,mb_detect_encoding
,然后再转成UTF8,mb_convert_encoding
mb_detect_encoding
, puis le convertir en UTF8,mb_convert_encoding
. 🎜