Comment afficher les caractères spéciaux en PHP
J'ai vu cette demande à plusieurs reprises, mais pas avec une bonne résolution. J'ai la chaîne suivante:
$string = "<p>Résumé</p>";
Je veux l'imprimer ou l'écho de la chaîne, mais la sortie sera de retour <p>R�sum�</p>
. J'ai donc essayer htmlspecialchars()
ou htmlentities()
les sorties qui <p>Résumé<p>
et le rend navigateur <p>Résumé<p>
. Je le veux, évidemment, de rendre ce:
Cv
Et je suis en UTF-8:
header("Content-type: text/html; charset=UTF-8");
Ce qui me manque ici? Pourquoi ne echo et de sortie d'impression d'un �
pour n'importe quel caractère spécial? Pour clarifier, la chaîne est en fait tout un fichier html stockées dans une base de données. L'application du monde réel n'est pas juste une petite ligne.
J'ai la tête à l'UTF-8. C'est ce que tu veux dire?
non, pas de l'en-tête, le enconding du fichier texte. ihad un problème similaire, et il s'est avéré que c'était parce que le fichier encodage latin-1, et je voulais l'en-tête de l'UTF-8
Vous devrez être plus précis. Je ne suis pas sûr de ce que vous entendez par le fichier texte. Le fichier lui-même est PHP. Je suis de l'envoi de cet en-tête pour le navigateur.
OriginalL'auteur Phil Tune | 2012-10-02
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de se cogner la tête sur la table, j'ai un peu meilleure compréhension de la question que je voulais poster pour quelqu'un d'autre qui ont eu ce problème.
Tandis que l'UTF-8 jeu de caractères de l'affichage des caractères spéciaux sur le client, le serveur, d'autre part, peut-être pas très accueillant et serait d'imprimer des caractères spéciaux tels que
à
etè
comme�
et�
.À assurez-vous que votre serveur d'impression correctement, nous le
ISO-8859-1
charset:Cela permettra d'imprimer correctement:
àè
Modifier (4 ans plus tard):
J'ai un peu mieux comprendre maintenant. La raison pour laquelle cela fonctionne est que le client (navigateur), est racontée, à travers la réponse
header()
, de s'attendre à uneISO-8859-1
texte/html fichier. (Comme d'autres l'ont mentionné, vous pouvez également le faire par la mise à jour de votre.ini
ou.htaccess
fichiers.) Puis, une fois que le navigateur commence à analyser que le fichier donné dans les DOM, la sortie d'obéir à tous les<meta charset="">
règle, mais gardez votre ISO de caractères dans le tact.cela dit, les en-têtes sont déjà utilisés...
Il travaille pour moi.....merci beaucoup
OriginalL'auteur Phil Tune
Vous pouvez avoir un mélange de PHP et de HTML dans vos fichiers PHP... juste faire quelque chose comme ça...
Qui devrait sortir
Résumé
juste la façon dont vous le souhaitez.Si vous n'avez pas les balises courtes activé, remplacer le
<?= $string ?>
avec<?php echo $string; ?>
mon mauvais, modifier pour ajouter le htmlentities méthode...
Cette solution est idéal pour les chaînes de PHP, mais quand je l'utilise mes caractères spéciaux imprimés avec HTML et ne vient pas de PHP spectacle de mal... Une solution?
OriginalL'auteur Justin Wood
Si vous avez de travail où il affiche
Résumé
avec<p></p>
balises autour de lui, puis il suffit de ne pas convertir le paragraphe, seul votre chaîne. Ensuite, le paragraphe sera rendu au format HTML et votre chaîne sera affichée à l'intérieur.Jetez un oeil à ce post: stackoverflow.com/questions/1364933/...
+1 @NightHawk, ce poste a aidé. Il semble qu'il y est probablement un prédéfini fonction PHP pour cela, mais qui fonctionne à merveille. Merci!
Donc, je suis toujours avoir des problèmes avec ce é de caractère. Quand je
UPDATE
ma base de données, il s'avère é tant. Ne peut pas comprendre pourquoi il le fait ou comment résoudre le problème.OriginalL'auteur NightHawk
En PHP il y a une assez bonne fonction utf8_encode() pour résoudre ce problème.
Vérifiez la page officielle de PHP.
OriginalL'auteur Vikas Kandari
$str = "votre nom Est O\'vins?";
//Sorties: votre nom O'vins?
echo stripslashes($str);
OriginalL'auteur Vincy Oommen
Cela fonctionne pour moi:
Créer/modifier
.htaccess
fichier avec ces lignes:Si vous préférez créer/modifier
php.ini
:Sources:
OriginalL'auteur quantme
Essayer Cette
D'entrée:
De sortie:
OriginalL'auteur Milan Gajjar
La suite travaillé pour moi quand avoir un problème similaire dernièrement:
OriginalL'auteur seantunwin