Maison > Article > développement back-end > Résumé des solutions aux caractères tronqués chinois php
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.
La première méthode : résoudre le problème des caractères chinois tronqués en HTML
Si votre fichier HTML contient des caractères tronqués, alors vous pouvez ajouter l'encodage UTF8 (encodage international) dans la balise head : UTF- 8 est un codage sans pays, c'est-à-dire qu'il est indépendant de toute langue et peut être utilisé dans n'importe quelle langue.
<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 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 Ajouter ce code en haut :
<?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 page PHP contient des caractères tronqués, 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 PHP+Mysql chinois tronqué
En plus de suivre la troisième opération, vous devez également interroger/modifier/ajouter vos données avant d'ajouter l'encodage de la base de 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
UTF L'encodage -8 n'est qu'un des encodages. 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. développement de sites Web Il existe deux encodages : GB2312 et UTF-8.
Une chose à noter : 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 le codage mysql 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 :
Solution au problème chinois brouillé de la transmission Ajax
Comment PHP résout le problème chinois brouillé des données stockées MySQL
Explication détaillée du problème chinois tronqué dans la base de données MySQL
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!