Remplacer les ? par les accents approprié

Résolu/Fermé
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 4 mars 2017 à 16:57
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 4 mars 2017 à 17:26
Bonjour à tous,

Je viens vers vous car sur mon site, j'ai un formulaire de contact qui envoye un mail dans ma boite de messagerie SAUF que j'ai des points d'interrogation à la place des accents et j'aimerais que les accents s'affiche à la place des ? .

Voici mon code :

<?php
/* Si le formulaire est envoyé alors on fait les traitements */
if (!empty(stripslashes($_POST['envoye'])))
{

      $civilite		= stripslashes($_POST['civilite']);
      $nom	     	= stripslashes($_POST['nom']);
      $expediteur	= stripslashes($_POST['email']);
      $sujet		= stripslashes($_POST['sujet']);
      $message		= stripslashes($_POST['message']);
 
    /* Expression régulière permettant de vérifier si le 
    * format d'une adresse e-mail est correct */
    $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
 
    /* Expression régulière permettant de vérifier qu'aucun 
    * en-tête n'est inséré dans nos champs */
    $regex_head = '/[\n\r]/';
 
    /* Si le formulaire n'est pas posté de notre site on renvoie 
    * vers la page d'accueil */

    /* On vérifie que tous les champs sont remplis */
    if (empty($nom) 
           || empty($expediteur) 
           || empty($sujet) 
           || empty($message))
    {
      $alert = 'Tous les champs doivent être renseignés';
    }
    /* On vérifie que le format de l'e-mail est correct */
    elseif (!preg_match($regex_mail, $expediteur))
    {
      $alert = 'L\'adresse '.$expediteur.' n\'est pas valide';
    }
    /* On vérifie qu'il n'y a aucun header dans les champs */
    elseif (preg_match($regex_head, $expediteur) 
            || preg_match($regex_head, $nom) 
            || preg_match($regex_head, $sujet))
    {
        $alert = 'En-têtes interdites dans les champs du formulaire';
    }
    /* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
    elseif (!!empty($_COOKIE['sent']))
    {
        /* Destinataire (votre adresse e-mail) */
        $to = 'mon adresse mail';
 
        /* Construction du message */
        $msg  = 'Bonjour,'."\r\n\r\n";
        $msg .= 'Ce mail a été envoyé depuis mon site web par '.$nom."\r\n\r\n";
        $msg .= 'Voici le message qui vous est adressé :'."\r\n";
        $msg .= '***************************'."\r\n";
        $msg .= $message."\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 */
        if (mail($to, utf8_decode($sujet), utf8_decode($msg), $headers))
        {
            $alert = 'E-mail envoyé avec succès';

            /* On détruit la variable $_POST */
            unset($_POST);
        }
        else
        {
            $alert = 'Erreur d\'envoi de l\'e-mail';
        }
 
    }
    /* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
    else
    {
        unset($_POST);
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="fr">
<head>
    <title>Contactez moi</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8(sans BOM)" />
</head>
<body>
 
<?php
if (!empty($alert))
{
    echo '<p style="color:red">'.$alert.'</p>';
}
?>
 
<form action="" method="post">
    <p>
        <label for="nom">Pseudo :</label>
        <input type="text" id="nom" name="nom" 
        	value="<?php echo 'pseudo du membre';?>" readonly="readonly"
        />
    </p>
    <p>
        <label for="email">E-mail :</label>
        <input type="text" id="email" name="email" 
        	value="<?php 
			$mailmembre = $bdd->query("selection de ma table pour recuperer le pseudo du membre")->Fetch();
			echo 'mail du membre';?>" readonly="readonly"/>
    </p>
    <p>
        <label for="sujet">Titre du message :</label>
        <input type="text" id="sujet" name="sujet" 
        	placeholder="Mettre le titre"
        />
    </p>
    <p>
        <label for="message">Message :</label>
        <textarea id="message" name="message" cols="40" rows="4"></textarea>
    </p>
    <p>
        <input type="submit" name="envoye" value="Envoyer" />
    </p>
</form>
 
</body>
</html>


Merci par avance pour votre aide

Cordialement Lucryio

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
4 mars 2017 à 17:25
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
4 mars 2017 à 17:26
Sachant que ça :
 <meta http-equiv="content-type" content="text/html;charset=utf-8(sans BOM)" />
ça n'existe pas ( le (sans BOM) ) dans la déclaration du charset....
regarde bien le premier lien que je t'ai donné
0