Problème caractère spéciaux mail

Résolu
lucascrivelli Messages postés 7 Statut Membre -  
lucascrivelli Messages postés 7 Statut Membre -
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 .
Configuration: Mac OS X
Safari 525.27.1

5 réponses

  1. lucascrivelli Messages postés 7 Statut Membre 3
     
    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
  2. toto
     
    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
  3. lucascrivelli Messages postés 7 Statut Membre 3
     
    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
  4. toto
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lucascrivelli Messages postés 7 Statut Membre 3
     
    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