Probléme d'affichage de caractéres é,è et à dans un site et dans un webmail [Résolu]

Messages postés
4
Date d'inscription
mercredi 6 février 2008
Dernière intervention
7 juin 2008
- 7 avril 2008 à 01:32 - Dernière réponse :
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 7 avril 2008 à 08:14
Salut aidez moi svp!!!
j'ai un probléme de l'affichage des caractéres  é, è et à  je ne sais pas pour quoi  quand on envoi un mail via  un web mail ou bien si on heberge  dans ifrance.com  le é devient (é )  et le è (è) de vient   et le à devient (Ã).
merci d'avance.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
- 7 avril 2008 à 06:33
3
Merci
Salut,

Pour cette question récurrente, je ne vais pas faire très original et sortir à peu de choses près, la même réponse que les 250 000 fois que la question a été posée.
C'est un problème d'encodage des caractères.

Sur un site qui n'est pas à toi, tu peux essayer, dans ton navigateur, de changer l'encodage utilisé pour afficher la page. Dans Firefox, c'est Affichage > Encodage des caractères > ... ?

Si c'est ISO-8859-1 ou -15, essaie avec UTF-8. Sinon, l'inverse.

Pour un site que tu héberges chez iFrance, c'est de ton devoir de faire attention à l'encodage des caractères dans tes pages.
Utilise une balise META, ou dans la déclaration xml si tu affiche du XHTML 1.x.

Pour les caractères affichés via PHP, utilise une des fonctions utf8_encode() et utf8_decode()

Fais attention également à l'encodage utilisé par ton éditeur de texte : s'il enregistre les fichiers en UTF-8 et que ta page doit s'afficher en ISO-8859-1 (ou -15), ça n'ira pas. Pareil dans l'autre sens. C'est là qu'interviennent justement les deux fonctions précédemment citées.

Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...

Merci neigedhiver 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de neigedhiver
Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 7 avril 2008 à 08:14
3
Merci
Hello,

je vais surrenchérir par rapport à ce que te dit Neige.
Bon déjà, un tuto sur l'encodage serait une bonne chose je pense, faudra y penser un de ces 4...!
L'encodage, c'est complexe. Même quand on sait ce que l'on fait ;-)
Dans un site php, il y a généralement 3 vecteurs :
l'encodage de la page web au niveau des headers
l'encodage de l'éditeur avec lequel on développe le site
l'encodage de la base de données que l'on utilise (si on en utilise une)
Et quand on envoie des mails, éventuellement, l'encodage des clients webmail, mais là, on a généralement peu de contrôle

Le plus simple est de s'assurer que tous ces "medias" utilisent le même encodage.
Les deux encodages les plus répandus sont UTF-8 et ISO-8859-1. Et un autre truc à savoir, c'est que PHP bosse essentiellement, par défaut, en ISO-8859-1 et qu'on découvre parfois que certtaines fonctions peuvent prendre un autre encodage  en paramètre (je dis ça parce que je l'ai découvert il y a peu avec htmlentities, htmlspecialchars et consors).
Evidemment, le choix à faire au niveau de l'encodage dépend esentiellement d'une chose : ton site est-il à vocation internationale ou non. Si c'est non, tu peux sans doute décider de tout passer en ISO, cela sera plus simple à grer (vu que c'est le paramétrage par défaut pour nos logiciels, en général). Mais il faut faire attention que ton hébergeur n'ait pas paramétré la base de données en UTF-8 par défaut. Ce qui est parfois le cas (voire souvent).
utf8_encode() et utf8_decode() switchent uniquement entre UTF-8 et ISO-8859-1, pour un autre encodage, ça ne conviendra pas, et il faudra alors se tourner vers iconv().

Personnellement, j'ai tendance aujourd'hui à plus bosser en UTF-8. Mais ça ne va pas sans poser quelques problèmes parfois...

Ah, autre chose à savoir : la plupart des flux xml que tu trouveras sur le net seront, eux, encodés en UTF-8, et surtout, le truc à la mode très utilisé, XMLHTTP (Ajax), travaille en UTF-8. Il faut donc penser à décoder quand on renvoie les données si on bosse en ISO-8859-1 (ou 15 en effet).

Chez toi, le é qui devient é , ça ressemble plus à de l'UTF-8 qui serait affiché en ISO-8859-1*. Donc tu dois avoir ta base de données en UTF-8, à mon avis.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de malalam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.