Bonjour,

J'ai réalisé sur un de mes sites la migration ISO-8859-1 > UTF8, ceci sans difficulté sauf pour le formulaire de contact.
Ce formulaire est bien codé en UTF8 et comporte :

<meta charset="utf-8">


Classiquement je récupère les éléments saisis (pour exemple : le message) par :

$message_final= $_POST['Message']."\n\n";


Puis j'envoie le mail par :

@mail($destinataire, stripslashes($objet), stripslashes($message_final));


Dans le message reçu les - é - è - à - ù - .... sont affichés - é - è - à - ù - ...

Je sèche sur ce problème depuis un certain temps, c'est pourquoi je fais appel à votre aide.

Merci par avance
Codialement
Salut,

Revérifie l'encodage de tous les fichiers qui interviennent (html ET php).
Tu peux aussi essayer en ajoutant une entête de type 'Content-type: text/html; charset=utf-8' à ta fonction mail (4e paramètre).

tm
Bonjour,

Avec ton aide j'ai résolu en partie mon problème par :

$headers = 'Content-type: text/html; charset=utf-8' . "\n";	
@mail($destinataire, stripslashes($objet), stripslashes($message_final), $headers)) 


mais j'ai perdu le mise en page du message gérée par :

$message_final = "Message en provenance du site de l'".$entete."\n\n";
$message_final .= "De la part de ".$_POST['Nom']."\n\n";
$message_final .= $_POST['Message']."\n\n";


En fait tout se retrouve sur la même ligne.

Avez-vous une idée sur ce nouveau problème ?

Cordialement
Bonjour,

En fait si je fais :

echo  nl2br ($message_final);


J'affiche le message avec les retours à la ligne.

Mystère ?

Cordialement
Re,

L'entête que tu as utilisée (et que je t'ai donnée) déclare ton mail comme étant du HTML.
Je présume qu'il était auparavant en text simple...

Tu peux soit utiliser Content-type: text/plain... à la place.
Soit utiliser des <br> (retours à la ligne en HTML) à la place de tes \n.
La fonction nl2br insère justement un retour à la ligne HTML à chaque nouvelle ligne ! Smiley smile

tm
Re,

Avec :

$headers = 'Content-type: text/plain; charset=utf-8' . "\n";


Je conserve la mise en forme.

Merci pour ton aide.

Cordialement