caracteres UTF8


kanon90
WRInaute impliqué
WRInaute impliqué
 
Messages: 938
Inscription: 23 Mar 2007

caracteres UTF8

Message le Ven Sep 14, 2007 11:02

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.

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Ven Sep 14, 2007 11:47

Je n'ai pas compris ce que tu veux faire.

DadouDuck
WRInaute impliqué
WRInaute impliqué
 
Messages: 910
Inscription: 28 Mai 2007

Message le Ven Sep 14, 2007 11:55

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: Tout sélectionner
#
<?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: Tout sélectionner
<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


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 472
Inscription: 15 Juin 2007

Message le Ven Sep 14, 2007 11:58

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...

Florent V.
WRInaute discret
WRInaute discret
 
Messages: 183
Inscription: 16 Mai 2007

Re: caracteres UTF8

Message le Ven Sep 14, 2007 12:03

kanon90 a écrit: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: Tout sélectionner
&amp;#233;

Il y a des fonctions PHP qui font ça, si je ne m'abuse.

DadouDuck
WRInaute impliqué
WRInaute impliqué
 
Messages: 910
Inscription: 28 Mai 2007

Message le Ven Sep 14, 2007 12:09

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.


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 472
Inscription: 15 Juin 2007

Message le Ven Sep 14, 2007 12:20

merci de la précision florent, je me coucherai moins bête ce soir...


kanon90
WRInaute impliqué
WRInaute impliqué
 
Messages: 938
Inscription: 23 Mar 2007

Message le Ven Sep 14, 2007 13:30

ok merci pour les conseils, je vais tacher de trouver avec tout ca.

DadouDuck a écrit: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 !


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 472
Inscription: 15 Juin 2007

Message le Ven Sep 14, 2007 14:39

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...

DadouDuck
WRInaute impliqué
WRInaute impliqué
 
Messages: 910
Inscription: 28 Mai 2007

Message le Ven Sep 14, 2007 14:41

Tu dois stocker "émilie" dans une base de données qui n'est pas en UTF_8

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Ven Sep 14, 2007 14:51

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 ).
Dernière édition par Tilt le Ven Sep 14, 2007 15:06, édité 1 fois.


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 472
Inscription: 15 Juin 2007

Message le Ven Sep 14, 2007 14:56

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...


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité