Solution au code chinois tronqué dans la requête php get : 1. Utilisez la méthode [$name = iconv("gbk","utf-8",$name);] pour résoudre le code tronqué ; Méthode mb_convert_encoding ($ nom, "utf-8", "gbk");]
Recommandé : "Tutoriel vidéo PHP"
php reçoit des paramètres chinois tronqués transmis par le GET méthode
J'ai récemment écrit une page simple et transmis les paramètres chinois depuis le navigateur (test.php?name=test). Quelle que soit la façon dont j'ai défini la page utf-8, des caractères tronqués étaient affichés. Je l'ai cherché sur Google. J'ai trouvé beaucoup de solutions, mais quelle est la cause du problème ? Personne n’a étudié cette question en profondeur. Par curiosité, il fallait que j'en vérifie la cause, et cela me permettrait aussi d'acquérir de l'expérience !
Tout d'abord, jetons un coup d'œil au code de test simple :
<?php header("Content-Type:text/html;charset=UTF-8"); $name = $_GET['name']; var_dump($name); ?>
Les résultats du test sont les suivants :
Le code indique que l'encodage du contenu de la réponse est utf-8, et le le contenu affiché est en effet tronqué. Veuillez noter ici que la longueur de la variable sortie par var_dump n'est que de 4. Évidemment, la longueur des deux caractères chinois doit être supérieure à 4 octets sous l'encodage utf-8. Jetons ensuite un œil à l'accès de Firefox à cette page url<. 🎜>
FireFox encode automatiquement l'URL en chinois, nous pouvons donc voir que le test devient %B2%E2%CA%D4. Évidemment, un mot ici fait deux octets, ce qui est un format d'encodage chinois tel que gb2313, gbk, etc., pas utf. 8 encodage. Si on change l'encodage de la page en gbk, les paramètres chinois s'afficheront normalement, voir l'image ci-dessousEnsuite on fait un autre test, le code est le suivant :
<?php header("Content-Type:text/html;charset=UTF-8"); $name = $_GET['name']; var_dump($name); ?>
$name = iconv("gbk","utf-8",$name);
mb_convert_encoding($name, "utf-8", "gbk");
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!