Réception d'un formulaire par mail les accents ne s'affichent pas correctement
Bonjour, bonsoir (c'est selon) ;-)
Voilà, pour commencer, je suis nul en programmation et très peu technicien.
Il y a maintenant deux jours que je cherche une solution à mon problème et là, je n'en peux plus.
Je me suis inspiré de différentes ressources pour construire mon formulaire ainsi que le code PHP
Le traitement de mon formulaire se fait bien mais quand je le reçois dans ma boite mail sous thunderbird (je ne désire pas tester avec d'autres clients mails), le contenu de mon "textarea" et de la construction de mon message en PHP ne respectent pas les accents ...
Par contre, les champs objet et expéditeur, eux, affichent les accents ...
Y-aurait-il une ou plusieurs bonne(s) âme(s) pour m'aider à solutionner ce problème?
D'avance merci pour votre aide.
Voici mes codes
Dans mon fichier contact.html
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <form action="soumission1.php" method="post">
<fieldset>
<legend>Pour causer à PéPé</legend>
<label for="name">Nom et Prénom ou Pseudo:</label>
<input type="text" id="name" name="name" placeholder="Saisissez votre Nom et votre Prénom ou un Pseudo" />
<label for="email">Email :</label>
<input type="text" id="email" name="email" placeholder="Saisissez votre email" />
<label for="objet">Objet :</label>
<input type="text" id="objet" name="objet" placeholder="Quelle est la raison de votre message?" />
<label for="message">Message:</label>
<textarea name="message" cols="" rows="" id="message" placeholder="Ecrivez ici votre message"></textarea>
<input type="submit" value="Envoyer" />
</fieldset>
</form> |
Mon fichier soumission1.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?php
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc ())
{
$nom = stripslashes ($_POST['name']);
$expediteur = stripslashes ($_POST['email']);
$objet = stripslashes ($_POST['objet']);
$message = stripslashes ($_POST['message']);
}
else
{
$nom = $_POST['name'];
$expediteur = $_POST['email'];
$objet = $_POST['objet'];
$message = $_POST['message'];
}
/* Destinataire (votre adresse e-mail) */
$to = 'monmail@machin.be';
/* Construction du message */
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis monsite.com par '.$nom."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n\r\n";
$msg .= '***************************'."\r\n\r\n";
$msg .= $message."\r\n\r\n";
$msg .= '***************************'."\r\n";
/* En-têtes de l'e-mail */
$headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";
/* Envoi de l'e-mail */
mail ($to, $objet, $msg, $headers);
?> |
un peu plus de détails à votre demande
Voici le code de l'entête de ma page contact.html
Code:
1 2 3 4 5 6
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
Et voici comment est encodé ma page soumission.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| <?php
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc ())
{
$nom = stripslashes ($_POST['name']);
$expediteur = stripslashes ($_POST['email']);
$objet = stripslashes ($_POST['objet']);
$message = stripslashes ($_POST['message']);
}
else
{
$nom = $_POST['name'];
$expediteur = $_POST['email'];
$objet = $_POST['objet'];
$message = $_POST['message'];
}
/* Destinataire (votre adresse e-mail) */
$to = 'machin@domaine.be';
/* Construction du message */
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis monsite.com par '.$nom."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n\r\n";
$msg .= '***************************'."\r\n\r\n";
$msg .= $message."\r\n\r\n";
$msg .= '***************************'."\r\n";
/* En-têtes de l'e-mail */
$headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";
/* Envoi de l'e-mail */
mail ($to, $objet, $msg, $headers);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contact</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
Voici le message de test que j'envoie:
Citation:
Nom et Prénom ou Pseudo: Aimée
Email:
monmail@domaine.be
Objet: Encore une test
Message: Est-ce que ce mail va arriver dans ma boîte mail et si oui, les caractères accentués sont-ils visible dans mon client mail?
Et l'apostrophe comment est-elle gérée?
Et voici le message que je reçois dans Thunderbird:
Citation:
Bonjour,
Ce mail a été envoyé depuis monsite.com par Aimée
Voici le message qui vous est adressé :
***************************
Est-ce que ce mail va arriver dans ma boîte mail et si oui, les caractères accentués sont-ils visible dans mon client mail?
Et l'apostrophe comment est-elle gérée?
***************************
En espérant avoir été le plus précis possible.
Et d'avance merci pour votre aide.