Php Mail caractères bizarres
Résolu
Herve_be
Messages postés
1125
Date d'inscription
Statut
Membre
Dernière intervention
-
Herve_be Messages postés 1125 Date d'inscription Statut Membre Dernière intervention -
Herve_be Messages postés 1125 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'envoie des mails via php, j'appelle le script php avec des paramètres
par exemple je veux envoyer https://...mail.php?S=Hervé
j'encode l'URL comme ceci https://...mail.php?S=Herv%E9
le code de mail.php
Je reçois bien le mail mais le sujet $S devient Herv�
Même problème avec le contenu du message.
J'ai essayé comme ceci
cette fois le sujet est Herv?
Comment encoder le sujet et le message pour qu'ils soient reçus correctement ?
Merci d'avance pour votre aide
J'envoie des mails via php, j'appelle le script php avec des paramètres
par exemple je veux envoyer https://...mail.php?S=Hervé
j'encode l'URL comme ceci https://...mail.php?S=Herv%E9
le code de mail.php
<?php $S=$_GET["S"]; // $_GET décode l'URL $message = "bla bla; $Mail = "destinataire@gmail.com"; $headers = "MIME-Version: 1.0\r\nContent-type:text/plain;charset=iso-8859-1\r\nFrom: expéditeur\r\n"; if (mail($Mail, $S, $message, $headers)) ...
Je reçois bien le mail mais le sujet $S devient Herv�
Même problème avec le contenu du message.
J'ai essayé comme ceci
if (mail($Mail, utf8_decode($S), utf8_decode($message), $headers))
cette fois le sujet est Herv?
Comment encoder le sujet et le message pour qu'ils soient reçus correctement ?
Merci d'avance pour votre aide
A voir également:
- Php Mail caractères bizarres
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Windows live mail - Télécharger - Mail
- Publipostage mail - Accueil - Word
- Caractères spéciaux mac - Guide
3 réponses
J'ai trouvé en partie
mais les éè sont remplacés par un point d'interrogation blanc dans un losange noir (je ne parviens pas à le copier ici).
$headers = "MIME-Version: 1.0\r\nContent-type:text/html;charset=utf-8\r\nFrom: expéditeur\r\n"; if (mail($Mail, $Subject, $message, $headers))les caractères spéciaux par exemple ($%) passent sans problème
mais les éè sont remplacés par un point d'interrogation blanc dans un losange noir (je ne parviens pas à le copier ici).
Bonjour,
Changer le charset du header pour le mettre en utf8 serait déjà une bonne piste.
Je t'invite également à suivre ceci :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
.
Changer le charset du header pour le mettre en utf8 serait déjà une bonne piste.
Je t'invite également à suivre ceci :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
.
J'avais effectivement mis UTF-8 dans le header, voir mon second message.
Mais j'avais toujours des caractères bizarres, et avec utf8_encode aussi mais pas les mêmes.
J'ai compris.
Dans le mail j'ai du texte fixe donc en UTF-8 : si je les encode à nouveau ça fait des nœuds.
Par contre le php reçoit des paramètres qui ne sont pas en UTF-8.
La solution consiste donc à utf8_encodeR les paramètres et pas tout le message.
Ça fonctionne !
Mais j'avais toujours des caractères bizarres, et avec utf8_encode aussi mais pas les mêmes.
J'ai compris.
Dans le mail j'ai du texte fixe donc en UTF-8 : si je les encode à nouveau ça fait des nœuds.
Par contre le php reçoit des paramètres qui ne sont pas en UTF-8.
La solution consiste donc à utf8_encodeR les paramètres et pas tout le message.
Ça fonctionne !