Pourquoi ma page ne peut pas afficher é, au lieu de cela, montrant �?
J'ai mis en page de l'encodage utf-8 dans le html :
meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"
et dans l'en-tête HTTP, j'ai:
Content-Type text/html; charset=UTF-8
Pourquoi ne pas montrer é correctement?
Grâce
Mise à jour:
Les données contiennent des 'é' est analysé à partir d'internet, le robot est écrit en Microsoft .Net.
J'ai utilisé Mysql .Net Connecteur pour connecter mysql.
La page pour afficher le 'é' est écrit en PHP.
- est votre fichier encodé en utf-8? essayer de forcer votre navigateur à l'encodage latin1/iso-8859-1 ou modifiez vos en-têtes de à qui.
- D'où vient
é
viennent? La base de données ou incorporé à l'intérieur d'une chaîne à l'intérieur du fichier PHP? - salut Salman, le 'é' vient de la base de données, j'utilise phpmyadmin pour vérifier la base de données, pas de problème, je peux voir 'é' correctement. Après extraction à la page html, eu le problème.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'ajouter beaucoup plus d'informations, mais un
�
est généralement un signe pour les ISO-8859-1 caractères dans les données qui sont traitées comme de l'UTF-8.Il s'agit soit de
Le fichier source en prétendant être en UTF-8, mais tout en étant enregistré comme ISO-8859-1/Windows-8252 - vérifiez votre encodage de fichier dans votre éditeur de texte ou IDE
Une connexion de base de données qui utilise ISO-8859-1, même si la base de données des tableaux sont en UTF-8
L'explication la plus probable est que la page est pas encodée en UTF-8, de sorte que lorsque le navigateur tente de décoder le texte, c'est de le faire en utilisant le mauvais encodage.
Vous devez vous assurer que le véritable document d'encodage correspond à la revendiquée encodage
assurez-vous que votre fichier n'a pas un BOM (byte order mark) au début de son. j'ai eu ce problème récemment, et même si le fichier a été enregistré comme utf8 (vérifié plusieurs fois), la NOMENCLATURE confuse firefox et à tort qu'elle affiche des trémas (j'avais html
<meta>
tags ensemble de l'encodage correct et les en-têtes http)Eu le même problème, même avec les paramètres html charset=UTF-8
Il suffit d'ouvrir la page html avec le bloc-notes et Fichier-enregistrer sous avec le codage UTF-8
Reopload la page et ça devrait être ok.
Stef
si vous utilisez réellement
htmlentities()
vous pouvez décoder une partie spécifique du code commecela permettra d'encoder la chaîne.
avec le $flags, vous pouvez un peu décider de ce à coder.
cette fonction peut être utilisée pour empêcher les injections sql
Bien que cet argument est techniquement en option, vous êtes fortement encouragés à préciser la valeur correcte pour votre code si vous utilisez PHP 5.5 ou une version antérieure, ou si votre
default_charset
option de configuration peut être définie de manière incorrecte pour la donnée d'entrée.edit: source htmlspecialchars