Maison >développement back-end >Problème PHP >Que faire si php génère des caractères tronqués

Que faire si php génère des caractères tronqués

藏色散人
藏色散人original
2020-09-01 10:37:435192parcourir

Solution à la sortie tronquée de PHP : 1. Utilisez la fonction mb_convert_encoding() pour transcoder ; 2. Définissez la méthode d'encodage de la base de données sur utf8 ; 3. Changez l'encodage en utf8 lors de l'enregistrement du fichier.

Que faire si php génère des caractères tronqués

Recommandé : "Tutoriel vidéo PHP"

Un code tronqué apparaît en PHP, comment résoudre le code tronqué

1. Analyse des causes des caractères tronqués

1. Lors de l'enregistrement d'un fichier, le fichier a son propre encodage de fichier, qui est constitué de caractères chinois ou d'autres langues chinoises. Quel encodage est utilisé pour le stocker ?

2. Lors de la sortie, spécifiez l'encodage du contenu. Par exemple, lors de la saisie sous la forme d'une page Web,

3. Lors de la récupération des données de la base de données, je n'arrive pas à comprendre le jeu de caractères défini par la base de données

4. . Prenons l'exemple des caractères chinois. Les caractères chinois sont également codés. Un caractère chinois gbk nécessite deux caractères, tandis que utf8 nécessite deux caractères. Les trois caractères

mentionnés ci-dessus sont les causes potentielles de caractères tronqués. et combinez-les maintenant.

Dans le premier cas, l'encodage d'enregistrement et d'affichage sont incohérents

Si vous utilisez l'encodage utf8 lors de l'enregistrement du fichier et lors de la sortie de la page Web, vous définissez l'encodage gbk, ceci apparaîtra Caractères tronqués,

Dans le deuxième cas, les caractères stockés dans le fichier enregistré et la base de données sont incohérents

Si l'encodage du fichier enregistré est le même que l'encodage affiché sur la page web , des caractères tronqués apparaissent toujours, par exemple, lors de l'enregistrement du fichier, utilisez le codage utf8 et votre base de données utilise le jeu de caractères gb2312 pour stocker les données.

La troisième situation est que le code est tronqué et que vous pensez toujours qu'il n'y a pas de code

Lorsque vous constatez que le code est tronqué et que vous modifiez l'encodage du fichier enregistré, la situation utf8. est bon. S'il est remplacé par gbk, le code sera tronqué, mais vous pensez toujours qu'il est bon. C'est aussi la raison pour laquelle des caractères tronqués apparaissent. Cela arrive souvent.

La quatrième situation est que la base de données est à l'origine tronquée.

Le jeu de caractères des données, l'encodage du fichier enregistré et l'encodage de l'affichage de la page Web sont tous identiques, mais tronqués. des caractères apparaissent toujours. C'est le cas dans la plupart des cas. Lorsque les données sont saisies dans la base de données, elles deviennent tronquées, ce qui est assez gênant.

Deuxièmement, ma méthode de résolution des caractères tronqués a été essayée et testée à plusieurs reprises

J'ai nommé cette méthode la méthode Paoding Jieniu. Ha ha. Base de données, encodage du fichier de sauvegarde, l'encodage lors de l'affichage doit être cohérent et la base de données prévaudra

Premièrement, l'encodage de la base de données et du fichier enregistré est utf8, et l'affichage de la page Web est gb2312. nous devons changer L'affichage est codé

Le deuxième type, la base de données et l'affichage de la page Web sont les deux utf8, utilisés pour enregistrer les fichiers. L'un est gb2312. Pour le moment, vous devez faire attention à une chose. Il n'est pas possible de modifier directement l'encodage du fichier enregistré. Avant de modifier l'encodage, copiez d'abord le contenu du fichier. . Une fois l'encodage modifié, collez le contenu copié. , c'est OK

La troisième méthode est que la base de données utilise utf8, et le fichier de sauvegarde et l'encodage d'affichage sont gb2312. utilisez la fonction fournie avec le programme pour convertir les données extraites de la base de données. Convertisseur de code, convertissez utf8 en gb2312 afin de ne pas avoir à modifier le propre encodage du fichier et l'encodage d'affichage. En prenant PHP comme exemple, mb_convert_encoding($string,”gb2312″,”utf8″);

Le quatrième type, le code tronqué de la base de données, est causé par la différence entre les données elles-mêmes et l'encodage du stockage de la base de données lorsque les données est entré. Par exemple : le codage de stockage de la base de données est utf8. Lorsque les données sont stockées dans la base de données, ajoutez un mysql_query ("set names utf8;"); Eh bien, j'en ai rencontré deux,

1) La police. qui apparaît est tronqué et transformé en caractères étranges

2) C'est juste une page blanche, vérifiez Quant au code source, il n'y a rien Dans des situations comme celle-ci, parfois je pense que cela est dû à un code tronqué. Cliquez avec le bouton droit sur la page, affichez les propriétés, modifiez l'encodage et vous saurez si la page vierge est causée par des caractères tronqués.

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