PHP, mail(), et caractères spéciaux!

Fermé
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 - 19 oct. 2007 à 18:14
 petite fée - 17 mai 2010 à 17:56
Bonjour,
Voilà, j'ai un problème avec la fonction mail() en PHP, et les caractères spéciaux intervenant dans le corps du mail. En effet, lorsque le destinataire reçoit le message, à la place des caractères spéciaux, il voit des '?'. Comment les afficher correctement sans envoyer des mails au format HTML?
Vous remerciant par avance de votre aide,
Vivien.
A voir également:

13 réponses

phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
22 oct. 2007 à 18:19
Ca n'a pas marché! Voici mon script de test:
$to=xxxxx@xxxxx.xx";    // Ici, j'ai caché le mail pour m'éviter le spamming...
$sujet="Facile...";
$message="Test réussi!";
$headers="From: Me Machin <xxxxx@xxxxx.xx>\r\n Content-Type: text/plain; charset='UTF8_FR'\r\n";   // Mail caché ici aussi.
if(mail ($to, $sujet, $message, $headers))
{
	echo "Mail envoyé!";
}


J'ai aussi essayé sans "\r\n" après UTF8_FR.

Il y a-t-il une erreur?
4
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
25 oct. 2007 à 21:15
Bonjour!
N'y a-t-il plus personne pour éviter un humble débutant en envoi de mails grâce à la fonction PHP mail() ?
Je vous rapelle la situation: j'aimerai pouvoir envoyer des mails au format texte uniquement, pas au format HTML, ceci étant refusé par des serveurs mails et/ou des utilisateurs. Malheureusement, les caractères spéciaux ne passent pas dans le mail reçu par le destinataire.

Vivien.
4
bonsoir, je me permet de répondre à ce sujet qui je l'avoue commence à dater mais vu que je l'ai trouvé et que j'avais le même problème aujourd'hui même et qu'il n'y à pas vraiment de conclusion positive concernant la première question.
Pour ceux qui cherchent encore, voici ce que j'utilise désormais et qui pour le moment répond à ce problème (sauf contre-avis des spécialistes (que je ne suis pas)).

Deux choses importantes :

I. définir l'encodage du site en ut8, cela vous demandera quelques contraintes avec le texte de votre site directement rédigé dans le code html et php -> remplacer les é par &e acute; (sans l'espace) et ainsi de suite.. C'est une habitude à prendre.

- entre les balises <head></head> : <meta http-equiv="content-type" content="text/html; charset=utf-8" />


II. Deuxièmement utiliser la fonction utf8_decode() (l'inverse : utf8_encode())

<?php
$to = 'you@mail.fr';
$head = 'From: me@mail.fr';

$topic = 'vîvä utf8_ëncôdè';
$topic = utf8_decode($topic);

$msg = 'éàçôùèêâïë...';
$msg = utf8_decode($msg);

mail($to, $topic, $msg, $head);
?>

Si vous avez mieux.. en espérant m'être rendu utile
bon code,
0
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
19 oct. 2007 à 18:21
Bonsoir, est-ce que tes caractères spéciaux que tu envoies sont du type &#deschiffres ?
Sinon, je crois qu'ils ne sont pas interprétés.
1
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
19 oct. 2007 à 18:26
Ben, en fait quand je dis "caractères spéciaux", je parle des "é", des "à", etc...
1

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

Posez votre question
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
19 oct. 2007 à 21:17
Que veux-tu dire par ils ne sont pas interprêtés? Comment faire en sorte qu'ils le soient? Les caractères spéciaux du type &# suivis de chiffres sont de quel charset (je crois que c'est comme ça qu'on dit) ? Et vous autres, pouvez-vous m'aider?

Vivien.
1
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
20 oct. 2007 à 21:31
Je pensais que c'était des caractères d'une autre langue, mais si ce n'est que des 'é' etc...
code les ainsi:
é=&eacute;
à=&agrave;
è=&egrave;
ù=&ugrave;
ï=&iuml;
ê=&ecirc;
â=&acirc;
ë=&euml;

Et vous autres, pouvez-vous m'aider? ... sympa, je suis là moi! ^^
1
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
22 oct. 2007 à 17:03
Bonjour,
&eacute;
et compagnie, bref les codes HTML (si je ne me trompe, c'est bien ça?), ne fonctionnent pas. En fait, comme il arrive régulièrement que les mails HTML soient refusés par les serveurs mails ou tout simplement par les utilisateurs à travers leurs réglage de leur boite mail, j'aimerai savoir envoyer un mail en PHP au format texte, pas au format HTML. J'y arrive, mais, du coup, les codes HTML ne fonctionnent pas pour les caractères spéciaux. J'ai essayé plusieurs autres types de codes pour caractères spéciaux, come Unicode, et d'autres dont je ne me souviens plus, trouvés sur CCM et d'autres sites, mais ça n'a pas marché.
Une autre idée?
P.S.: @ilan27 > Ce que t'es susceptible! ^^ Je voulais simplement essayer de rameuter du monde! Quoi? Ca n'a pas été efficace? J'crois bien qu't'as raison... ^^
@tout le monde: désolé pour la forme du message, je n'ai pas réussi à faire autrement pour garder é sous cette forme et non transformé en "é"...
Vivien.
1
Bonjour,
envoies tes mail en UTF8_FR ...
1
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
23 oct. 2007 à 17:02
Bonjour à tous! (Re-bonjour... ^^)
Alors, personne pour m'aider? Moi je sèche... J'ai essayé de changé la casse de UTF8_FR, ça a pas marché...

Vivien.
1
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
24 oct. 2007 à 17:29
Bonjour à tous!
HELP! Je nage, je rame! Qui pourra m'aider?
Je rappelle mon problème: les caractères spéciaux (é, è , etc...) ne passent pas lorsque j'envoie un mail avec la fonction mail() en PHP. Mon script est réécrit dans un post un peu plus haut. On m'a proposé UTF8_FR, mais ça fonctionne pas. Je l'utilise peut-être mal, je sais pas. Pour info, j'utilise EasyPHP pour mes progs.
Vivien.
1
phédra60 Messages postés 30 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 24 mai 2008 17
24 oct. 2007 à 20:02
Non, il y a pas la solution! Tu m'as envoyé vers un sujet qui correspondait, mais l'auteur a résolu son problème mais en passant son mauil de format text à HTML, et je veux justement éviter de passer par le format HTML.
Merci quand même Alain42!

Vivien.
1
petite fée
17 mai 2010 à 17:56
merci life d'avoir pris le temps de mettre une réponse ici, j'aieu le même problème et tu m'as aidé.
merci encore,
Petite fée
1