Caracteres UTF8

WRInaute impliqué
Bonjour,

Pour le développement php d'une page me permettant de vérifier mon code source, je souhaite afficher les caracteres utf8 du style & #233; sans que ce dernier ne soit interprété par le navigateur (et qui du coup va afficher é).

Si qq'un a une idée, merci d'avance.
 
WRInaute impliqué
Normalement, si tu as bien fait ton travail :

* La base de données doit stocker en UTF-8,
* La page php doit être aussi en UTF-8, attention tous les éditeurs ne savent pas enregistrer au format UFT-8 => Pensez à intégrer ce petit code en début de page :
Code:
#
<?php
#
header("Content-Type: text/html; charset=UTF-8");

Souvent il résout bien des problèmes.

* Enfin, l'encodage doit clairement être identifié dans le code html de la page :
Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Ensuite tu écris normalement, tu n'auras pas de & #233; dans ta page.

C'est ce que j'utilise sur mon site http://www.normandie-creation.com et quand tu regardes le source tu lis les caractères normalement
 
WRInaute occasionnel
Il faut que tu te tournes vers la librairie iconv si tu l'as ou mb_convert_encoding... Mais je ne suis pas non plus bien sûr d'avoir compris la question...

Si ce n'est que pour l'affichage, je pense qu'il faut que tu regardes du côté du jeu de caractères (mais ça reste à la discrétion de l'utilisateur)...

édition : j'étais en train d'écrire pendant la réponse mais en relisant je crois qu'il veut justement afficher le code utf-8 et pas la caractère...
 
WRInaute discret
kanon90 a dit:
les caracteres utf8 du style & #233;
& #233; n'est pas un caractère UTF-8 (ni ISO-8859-1, ni ASCII, ni SHIFT-JIS...), mais une entité HTML.

Donc à priori le jeu de caractères n'a rien à voir avec ça.

Si tu as ce type d'entités dans ton code source et que tu veux les afficher sans qu'elles soient interprétées, il faudra transformer les & (caractère de contrôle) en l'entité caractère &amp;. Il faudra donc obtenir dans le code source:
Code:
&amp;#233;
Il y a des fonctions PHP qui font ça, si je ne m'abuse.
 
WRInaute impliqué
Yep : utf8_encode et utf8_decode


Edit : Oui, j'avais pas tout lu correctement


Le & #233; n'est effectivement pas un caractère mais une entité html.
 
WRInaute impliqué
ok merci pour les conseils, je vais tacher de trouver avec tout ca.

DadouDuck a dit:
Le & #233; n'est effectivement pas un caractère mais une entité html.

Moi aussi je viens d'apprendre quelque chose. Je vais tacher de trouver un cours la dessus ^^

Merci en tt cas !
 
WRInaute occasionnel
J'ai également un gros problème avec les caractères et le classes en php (je suis pas sûr que ça vienne de la classe)...

J'ai un nom qui est sauvé sous sa forme originale disons "émilie" que je stocke dans une classe sous le nom de $nom_de_classe->prenom. Quand je fais une sauvegarde grâce à l'ajax, le nom s'affiche toujours : "émilie" mais quand je fais un rafraichissement, j'ai "émilie"... Je ne vois vraiment pas d'où cela peut venir...
 
WRInaute impliqué
J'ai peur qu'il ne recherche que la fonction html_entities de php (qui fonctionne d'ailleurs avec les encodages multi-octets comme utf-8 ).
 
WRInaute occasionnel
non

rien de tout cela mais je vais arrêter de poser des questions le vendredi soir...

j'affichais des caractères codés en utf-8 sur une page ou je définissait le "charset" à iso-88machin...
d'où le petit souci... j'ai trouvé ma réponse merci quand même pour les vôtres...
 
Discussions similaires
Haut