Problème caractère spéciaux mail

Résolu/Fermé
lucascrivelli Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 8 février 2009 - 8 févr. 2009 à 16:10
lucascrivelli Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 8 février 2009 - 8 févr. 2009 à 17:13
Bonjour,

Je vous écrit car j'ai besoin de votre aide.

J'ai un script qui envoi un mail par la fonction mail(), jusque là pas de soucis.

Je suis sous MAC OS X et Mail affiche correctement les caractères spéciaux. En revanche j'ai testé sur une autre boîte (en l'occurrence Windows Mail) et là les caractères spéciaux ne s'affiche pas correctement.


Par exemple le " é " s'affiche : À©

J'ai essayé avec des é à la place des é mais rien à faire ! J'ai également essayé avec htmlspecialchars() mais ca ne marche pas non plus.

Je cherche partout depuis 1h.

Avez-vous la solution à mon problème ??

PS : je suis en charset = UTF-8 et le message du mail est rédigé en txt.

Merci de votre aide .
A voir également:

5 réponses

lucascrivelli Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 8 février 2009 3
8 févr. 2009 à 16:13
Pardon je n'avais pas pensé qu'il me traduirai &.eacute en é.

Je disais que j'avais essayé de remplacer les é par des &.eacute.

Merci
1
Bonjour

Est-ce que dans les en-têtes du mail que tu envoies, tu précises bien qu'il est encodé en UTF-8 ? S'il n'y a aucun header pour le dire, chaque client mail l'affichera avec son encodage par défaut. Si sur MAC OS X c'est UTF-8, ça sera OK, mais si sur windows mail c'est un codage iso-8859-1, tu vas avoir des hiéroglyphes.
Il faut mettre dans les en-têtes :
MIME-Version: 1.0
et
Content-Type: text/html; charset="utf-8"
Comme ça tous les clients mails seront avertis que c'est de l'utf-8 et afficheront en conséquence
1
lucascrivelli Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 8 février 2009 3
8 févr. 2009 à 16:40
Je viens en partie de régler le problème.

J'ai changé le codage de Windows Mail. A la base il été sur Alphabet Occidental (ISO) et je l'ai mis sur Unicode(UTF-8).

Mais le problème est : est-ce qu'il faut que chaque personne change le codage pour visualiser correctement le message ?

ou faut il que je change le charset en Alphabet Occidentale (ISO) ?
1
il ne FAUT PAS toucher au réglages du codage de windows mail.
Si ton mail contient les bons en-têtes, windows mail et les autres clients adopteront automatiquement le codage adapté au mail reçu. Voir mon message 2
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lucascrivelli Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 8 février 2009 3
8 févr. 2009 à 17:13
J'ai trouvé la solution.

Voilà ce qu'il faut faire :

Seulement sur une page contenant la fonction mail() !

Remplacer :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

par : <meta http-equiv="Content-Type" content="text/plain; charset=iso-8859-1" />

et supprimer la ligne : $header.= "Content-Type: multipart/mixed\\n"; il n'y a qu'un antislash !

J'éspère avoir aider quelqu'un ... en tout cas mon problème est réglé.

Merci à tous.
0