Maison  >  Article  >  développement back-end  >  Que faire si des caractères chinois tronqués UTF-8 sont affichés en PHP

Que faire si des caractères chinois tronqués UTF-8 sont affichés en PHP

小老鼠
小老鼠original
2023-04-24 14:01:493509parcourir

Solution aux caractères chinois tronqués UTF-8 affichés en PHP : 1. Ajoutez "header("content-type:text/html;charset=utf-8");" en haut du fichier PHP ; mysql_connect "fonction pour se connecter à la base de données, puis exécutez l'instruction "mysql_query('SET NAMES UTF8');" pour changer l'encodage en UTF8.

Que faire si des caractères chinois tronqués UTF-8 sont affichés en PHP

Le système d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur Dell G3.

La raison pour laquelle PHP affiche les caractères chinois utf-8 tronqués

1. Encodage du jeu de caractères incohérent. La principale raison pour laquelle les caractères tronqués apparaissent souvent est qu'il y a un problème avec le format d'encodage. Lors du processus d'écriture du code PHP, les développeurs doivent faire attention au format du fichier de code lui-même. Par exemple, Overpass doit être défini au format UTF-8. S'il n'est pas défini ou mal défini, cela entraînera des caractères tronqués dans la sortie du programme PHP.

De plus, lorsque vous utilisez des requêtes de base de données, des soumissions de formulaires et d'autres opérations dans des programmes PHP, vous devez également faire attention à savoir si l'encodage du jeu de caractères de la base de données et des pages Web est unifié, sinon cela entraînera également le problème du chinois tronqué. personnages.

2. Problème d'affichage du navigateur

Le problème des caractères tronqués peut également être causé par le navigateur. Lorsque la méthode de codage du navigateur est incompatible avec la méthode de codage de la page Web, le problème des caractères chinois tronqués se produira également. À ce stade, les développeurs peuvent essayer de modifier l'encodage du navigateur pour résoudre le problème.

3. Mauvaise méthode de sortie

Dans les programmes PHP, si la mauvaise méthode est utilisée pour générer du contenu, le problème des caractères chinois tronqués se produira également. Les méthodes de sortie d'erreur courantes incluent l'utilisation de echo, print, print_r, var_dump et d'autres fonctions de sortie. Ces fonctions ne sont pas traitées lors de la sortie du chinois, des caractères tronqués sont donc susceptibles de se produire.

Solution au code tronqué chinois UTF-8 affiché en php

1 : 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 En plus , vous devez également ajouter ce code en haut du fichier PHP :

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

2 : Le problème des caractères chinois tronqués dans les pages PHP pures (les données sont statiques)

Si votre page PHP comporte des caractères tronqués, ajoutez simplement Ajoutez simplement le code suivant au début de la page.

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

Trois : PHP+Mysql Chinois tronqué problème

En plus de suivre la troisième opération, vous devez également l'ajouter à la base de données avant d'interroger/modifier/ajouter le codage de 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.

Utilisez PHP pour lire et écrire la base de données

Après vous être connecté à la base de données :

[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);

Ajoutez deux lignes :

mysql_query("set character set &#39;utf8&#39;");//读库
mysql_query("set names &#39;utf8&#39;");//写库

Vous pouvez lire et écrire la base de données MYSQL normalement.

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

L'encodage UTF-8 n'est qu'un des encodages utf-8, vous pouvez également utiliser d'autres encodages. Remplacez simplement UTF-8 par l'encodage que vous souhaitez utiliser actuellement. est principalement utilisé dans le développement de sites Web chinois. Il existe deux encodages : GB2312 et UTF-8.

Une chose à noter : le code mysql_query("set names 'encoding'"); ajouté avant le programme PHP qui doit effectuer les opérations de base de données doit être cohérent avec le code PHP. Si le code PHP est gb2312, alors le code mysql. est gb2312. Si c'est 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.

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