Maison  >  Article  >  développement back-end  >  Comment résoudre le problème des caractères chinois tronqués dans la sortie php ?

Comment résoudre le problème des caractères chinois tronqués dans la sortie php ?

青灯夜游
青灯夜游original
2020-11-06 17:17:365696parcourir

Solution : 1. Pour les pages mélangées avec HTML et PHP, vous devez utiliser la balise méta ou la fonction header() pour unifier l'encodage de la page. 2. Pour les pages statiques PHP pures, utilisez l'en-tête ( ) pour définir l'encodage sur "utf -8" ; 3. Utilisez mysql_query() pour définir l'encodage de la connexion PHP à mysql.

Comment résoudre le problème des caractères chinois tronqués dans la sortie php ?

De manière générale, il existe deux raisons pour l'apparition de caractères tronqués. La première est due à un mauvais paramètre d'encodage (jeu de caractères), qui entraîne le navigateur. analyser avec un mauvais encodage. En conséquence, l'écran est plein de "Livres du Ciel" désordonnés. Deuxièmement, le fichier est ouvert avec un mauvais encodage, puis enregistré. Par exemple, un fichier texte a été initialement encodé en GB2312, mais il. a été ouvert en codage UTF-8 puis enregistré. Pour résoudre le problème de code tronqué ci-dessus, vous devez d'abord savoir quels aspects du développement impliquent l'encodage :

1 Encodage du fichier : fait référence à l'encodage dans lequel le fichier d'échange (.html, .php, etc.) lui-même est sauvé. Le Bloc-notes et Dreamweaver reconnaîtront automatiquement l'encodage du fichier lors de l'ouverture de la page, il y aura donc moins de problèmes. Cependant, ZendStudio ne reconnaît pas automatiquement l'encodage. Il ouvrira uniquement le fichier dans un certain encodage en fonction de la configuration des préférences si vous ouvrez accidentellement le fichier avec le mauvais encodage pendant le travail, et le sauvegardera après avoir effectué la modification, tronqué. des personnages apparaîtront.

2. Encodage de la déclaration de page : Dans le code HTML HEAD, vous pouvez utiliser (ce phrase Il doit être écrit devant

XXX, sinon la page sera vide (IE+PHP uniquement)) pour indiquer au navigateur quel encodage la page Web utilise actuellement. le développement sont deux encodages GB2312 et UTF-8

3. Encodage de connexion à la base de données : fait référence à l'encodage utilisé pour transmettre des données à la base de données lors de l'exécution d'opérations de base de données. l'encodage de la base de données elle-même, comme MySQL. La valeur interne par défaut est l'encodage latin1, ce qui signifie que Mysql stocke les données en encodage latin1. Les données transmises à Mysql dans d'autres encodages seront converties en encodage latin1

Je sais. où l'encodage est impliqué dans le développement WEB. Nous connaissons également la raison des caractères tronqués : les trois paramètres d'encodage ci-dessus sont incohérents. Puisque la plupart des différents encodages sont compatibles avec l'ASCII, les symboles anglais n'apparaîtront pas et les caractères chinois seront absents. chance. 🎜>Solution pour la sortie php de caractères chinois tronqués

La première solution de page mixte HTML et PHP

Méthode 1 : Utiliser < ; balise meta> Si le code PHP est intégré au HTML, vous pouvez utiliser

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>php输出中文乱码</title>
	</head>

	<body>
		<div class="demo">

			<?php
			echo "php中文网!";
			?>
		</div>

	</body>

</html>

Méthode 2 : utilisez la fonction header() <meta>来解决中文乱码问题

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 ce code en haut du fichier PHP :

<?php
header("content-type:text/html;charset=utf-8");         //设置编码
?>

Deuxièmement, du PHP pur Le Problème de chinois tronqué sur la page (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 troisième type, problème PHP+Mysql chinois tronqué


En plus de suivre la troisième opération, vous devez également interroger/modifier vos données/Ajouter l'encodage de la base de données avant ajoutant De plus, il convient de noter que l'UTF8 ici est différent du précédent. Il n'y a pas de ligne horizontale au milieu

 <?php
    mysql_query(&#39;SET NAMES UTF8&#39;);
    //接下来的就是查出数据或者修改,增加
?>

Et si la version de MySQL que vous utilisez est 4.1 ou supérieure. . Pour les versions supérieures, vous pouvez définir un codage de caractères après la liaison à l'opération de base de données, comme suit

Remarque :

Comment résoudre le problème des caractères chinois tronqués dans la sortie php ? est utilisé lorsque la base de données. des opérations sont requises. L'encodage de mysql_query("set names 'encoding'"); ajouté avant le programme php doit être cohérent avec l'encodage php. Si l'encodage php est gb2312, alors l'encodage mysql est gb2312. , alors le codage MySQL est utf8. Insérer ou Il n'y aura pas de caractères tronqués lors de la récupération des données

Pour plus de connaissances sur la programmation, veuillez visiter :

Enseignement de la programmation

 ! !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn