Problème caractère spéciaux mail
Résolu
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 .
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 .
Configuration: Mac OS X Safari 525.27.1
5 réponses
-
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 -
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 -
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) ? -
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 -
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.