Maison >développement back-end >Problème PHP >Que faire si les paramètres php echo get sont tronqués
Solution aux paramètres tronqués de php echo get : 1. Utilisez "iconv("gb2312", "utf-8",$str);" 2. Convertissez l'encodage via la fonction mb_convert_encoding.
L'environnement d'exploitation de cet article : système Windows7, version PHP7.4, ordinateur DELL G3
Que dois-je faire si les paramètres php echo get sont tronqués ?
La raison et la solution aux paramètres chinois tronqués reçus par PHP dans GET
Il y a quelques jours, j'ai utilisé sphinx pour écrire une fonction de recherche et testé l'effet de recherche avec un navigateur, mais je n'ai pas pu rechercher de contenu chinois. J'ai utilisé echo pour afficher les mots-clés obtenus par $_GET et j'ai vu que l'encodage de la page était tronqué en UTF-8, mais c'était normal lorsqu'il était passé à gb2312. Cependant, sphinx ne prend en charge que la recherche de caractères chinois UTF-8, j'ai donc dû résoudre le problème de réception des paramètres chinois.
J'ai cherché sur Google en ligne et trouvé un article intitulé "Étude approfondie sur la réception de paramètres chinois GET avec des codes tronqués". L'article mentionnait que cela était dû à un problème de configuration du navigateur. Si vous entrez directement des paramètres chinois dans la barre d'adresse, en chinois, les navigateurs d'interface reçoivent généralement des paramètres en codage gbk. Dans des situations comme celles-ci, nous devons utiliser la fonction de transcodage intégrée de PHP pour résoudre les problèmes d'encodage :
Option 1 :
$str = iconv("gb2312","utf-8",$str);
Option 2 :
mb_convert_encoding($str, "utf-8", "gb2312");
S'il est obtenu en utilisant la zone de saisie de texte sous l'encodage de la page de utf-8, la page encodera son encodage par défaut selon l'encodage actuel, donc dans ce cas, il n'est pas nécessaire d'utiliser la méthode de transcodage ci-dessus.
Si vous souhaitez générer un lien avec les valeurs des paramètres chinois dans la page, vous devez encoder les caractères chinois avec urlencode() sous le code d'encodage utf-8 puis générer le lien.
Apprentissage recommandé : "Tutoriel vidéo 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!