Pourquoi les caractères chinois tronqués apparaissent-ils ?
Lorsque de nombreux amis novices apprennent PHP, ils découvrent que le chinois dans le programme sera tronqué lors de la sortie. Alors pourquoi ce type de code tronqué se produit-il de manière générale ? , il y a deux raisons à l'apparition de caractères tronqués. L'une est due à un paramètre d'encodage (jeu de caractères) incorrect, ce qui entraîne une analyse du navigateur avec un mauvais encodage, ce qui entraîne un écran plein de "livres célestes" en désordre. que le fichier est Si un mauvais codage est ouvert puis enregistré, par exemple, si un fichier texte a été initialement codé en GB2312 mais est ouvert en codage UTF-8 puis enregistré, des caractères tronqués apparaîtront. Cet article va vous montrer comment résoudre le problème des caractères tronqués en PHP.
Nous divisons la situation de code tronqué selon les types suivants. Si nécessaire, vous pouvez vous référer aux situations suivantes pour résoudre le problème de code tronqué de manière ciblée
La première : Méthodes pour résoudre le problème du code chinois tronqué en HTML
Si votre fichier HTML est tronqué, vous pouvez ajouter l'encodage UTF8 (encodage international) dans la balise head : UTF-8 est un encodage sans pays, indépendant de toute langue . , n'importe quelle langue peut être utilisée.
Exemple
Pour nos fichiers HTML5 actuels, il est plus simple de paramétrer l'encodage, comme suit :
Deuxième solution de page mixte HTML et PHP
Comment mélanger HTML et PHP, en plus de suivre la première méthode, vous devez également ajouter ce code en haut du fichier PHP :
Le troisième type, le problème chinois tronqué des pages PHP pures (les données sont statiques)
Si votre La page PHP est tronquée, ajoutez simplement le code suivant au début de la page.
Le quatrième type, PHP+Mysql chinois Problème de code tronqué
En plus de suivre la troisième opération, vous devez également ajouter l'encodage de la base de données avant d'interroger/modifier/ajouter vos données. De plus, il convient de noter que l'UTF8 est ici différent du précédent, il n'y a pas de ligne horizontale au milieu.
using est 4.1 ou Dans les versions ultérieures, vous pouvez définir un codage de caractères après la liaison à l'opération de base de données, comme suit :
Le codage UTF-8 n'est qu'un des codages , si vous ne souhaitez pas utiliser l'encodage utf-8, vous pouvez également utiliser d'autres encodages. Remplacez simplement UTF-8 par l'encodage que vous souhaitez utiliser. Actuellement, GB2312 et UTF-8 sont principalement utilisés dans le développement de sites Web chinois.
Une chose à noter est que l'encodage mysql_query ("set names 'coding'"); ajouté avant le programme PHP qui doit effectuer des opérations de base de données doit être cohérent avec l'encodage PHP si l'encodage PHP est gb2312. , alors mysql Le codage est gb2312 S'il s'agit de utf-8, alors le codage mysql est utf8, de sorte qu'il n'y aura pas de caractères tronqués lors de l'insertion ou de la récupération de données