Maison  >  Article  >  développement back-end  >  Que faire si la variable php génère des caractères tronqués

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

藏色散人
藏色散人original
2021-05-17 09:08:042104parcourir

Solution à la sortie tronquée des variables PHP : 1. Convertissez via "iconv("GB2312","UTF-8",'Chinese');"; modifiez la configuration du fichier php.ini.

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

L'environnement d'exploitation de cet article : système Windows 7, version PHP 7.1, ordinateur DELL G3

La sortie chinoise par echo s'affiche comme caractères tronqués,

En fait, toutes sortes de scripts serveur devraient rencontrer ce problème

Il s'agit essentiellement d'un problème d'encodage

De manière générale, la plupart des pages utilisent le jeu de caractères de la page. pour des raisons de compatibilité d'encodage. Défini comme utf-8

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

À l'heure actuelle, afin d'afficher le chinois normalement, vous devez convertir la méthode d'encodage, par exemple,

echo iconv("GB2312","UTF-8",'中文'); ne le sera pas. être tronqué.

Il existe d'autres méthodes, par exemple,

ajouter un en-tête ("Content-Type: text/html; charset=gb2312") devant l'écho de php

Bien sûr, la page chinoise simplifiée peut aussi être simplement,

Changer l'UTF-8 dans

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

en gb2312

En pratique, j'ai rencontré un phénomène étrange,

sur le serveur local. Lorsque la page s'affiche normalement, l'écho sera tronqué lors du téléchargement sur le serveur

Je n'ai pas réfléchi à la raison. avec attention, car c'est normal après changement de position et ré-encodage via la fonction iconv GB2312 et UTF-8

Mais cela est probablement causé par APACHE, ou plus précisément, par les différents paramètres du serveur PHP. .

Regarder PHP.INI devrait résoudre le problème.

Ajouter echo iconv("GB2312","UTF-8",'Chinese'); ou3dd0b3bb73fe037d9b42a83007821b98 Ce sera plus douloureux.

Enfin, j'ai vu qu'il pouvait s'agir d'un problème avec la configuration du fichier php.ini, j'ai donc ouvert le fichier php.ini et j'ai trouvé ;default.charset="UTF-8"--->default .charset="UTF-8" Supprimez le point-virgule devant (supprimez le commentaire), redémarrez le service Apache, actualisez la page et l'affichage chinois sera normal.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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