Pourquoi des 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 cette situation tronquée se produit-elle ? 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 encodage incorrect, ce qui entraîne un écran rempli de « livres célestes » en désordre. La deuxième est que le fichier est Si vous l'ouvrez avec le mauvais encodage puis l'enregistrez, par exemple, si un fichier texte est initialement encodé en GB2312 mais est ouvert en 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
Le premier type : résoudre les méthodes chinoises en HTML pour les problèmes de code tronqué
Si votre fichier HTML présente des problèmes de code tronqué, vous pouvez ajouter l'encodage UTF8 (encodage international) dans la balise head : UTF-8 est un encodage sans pays, c'est-à-dire indépendant de toute langue, n'importe quelle langue peut être utilisée.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
Exemple
Pour notre fichier HTML5 actuel, la définition de l'encodage est plus simple, comme ce qui suit
Deuxième solution de pages mixtes HTML et PHP
Comment mélanger HTML et PHP, en plus de suivre les opérations mentionnées dans la première méthode, Vous devez également ajouter ceci code en haut du fichier PHP :
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
Le troisième type est 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.
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
Le quatrième type, problème tronqué PHP+Mysql en chinois
En plus de suivre la troisième opération, ajoutez également l'encodage de la base de données avant 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.
<?php mysql_query('SET NAMES UTF8'); //接下来的就是查出数据或者修改,增加 ?
Si vous utilisez MySQL version 4.1 ou supérieure, vous pouvez définir un encodage de caractères après l'opération de base de données de liens, comme suit
L'encodage UTF-8 n'est qu'un des encodages utf-8, vous pouvez également utiliser d'autres encodages. Chinois Les deux encodages principalement utilisés dans le développement de sites Web sont GB2312 et UTF-8.
Une chose à noter est que le code 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 le codage PHP si le codage 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
[Recommandations associées]
1. Tutoriel vidéo HTML5 : "php.cn Tutoriel vidéo HTML5 original"
2. Dugu Jiujian (4)-php Tutoriel vidéo》
3.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!