Bonjour,
Mon formulaire de contact fonctionne bien.
Par contre certains caractères s'affichent mal.
Par exemple le "é" s'affiche: "é"
Voici le html:
et voici le code php lorsque la page traitement-contact.php est appelé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <form class="cmxform" id="commentForm" method="post" action="traitement-contact.php"> <fieldset> <p> <label for="nom">Nom et prénom</label> <input id="nom" name="nom" class="required" /> </p> <p> <label for="email">E-Mail </label> <input id="email" name="email" class="required email" /> </p> <p> <label for="sujet">Sujet</label> <input id="sujet" name="sujet" class="required" value="" /> </p> <p> <label for="msg">Message</label> <textarea id="msg" name="msg" class="required" rows="5" cols="60"></textarea> </p> <p style="text-align:left;"> <span style="font-size:10px;font-style:italic;margin-right:150px;">Tous les champs sont obligatoires.</span> <input class="submit" type="submit" value="Envoyer"/> </p> </fieldset> </form>
Un premier contrôle de validité est effectué avec JQuery.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
40
41 <?php // récupération des données envoyées par le formulaire de contact $nom = htmlentities($_POST['nom'], ENT_QUOTES); $email = htmlentities($_POST['email'], ENT_QUOTES); $sujet = htmlentities($_POST['sujet'], ENT_QUOTES); $msg = htmlentities($_POST['msg'], ENT_QUOTES); // suppression des slashes $nom =stripslashes ($nom); $email =stripslashes ($email); $sujet=stripslashes ($sujet); $msg=stripslashes ($msg); /* verification des champs obligatoires */ $blnValide = TRUE; if (empty($nom)){ $blnValide = FALSE; } if (empty($email)){ $blnValide = FALSE; } if (empty($sujet)){ $blnValide = FALSE; } if (empty($msg)){ $blnValide = FALSE; } $message = 'Ce mail a ete envoye depuis votre site par '.$nom."\r\n".'Email : '.$email."\r\n".'Sujet :'.$sujet."\r\n".'Message :'.$msg."\r\n"; ?> <!-- envoi du mail --> <?php $entetes ="From: " .$email."\n"; $to='contact@monsite.fr'; if ($blnValide){ mail($to, $sujet, $message, $entetes); }else{ echo "Echec de l'envoi"; } ?>
L'encodage de la page est le suivant:
J'ai essayé avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
mais ca n'a rien changé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <meta http-equiv="content-type" content="text/html; charset=utf-8" />
Si vous connaissez une solution...
Partager