Accents en php

Résolu
gilbertgibert Messages postés 70 Statut Membre -  
gilbertgibert Messages postés 70 Statut Membre -
Bonjour,

j'utilise un script php pour envoyer un formulaire par e-mail.
Cela fonctionne correctement sauf pour les caractères accentués saisis dans le formulaire.
J'ai fait de nombreux essais sans résultat.Qui a la solution ?
Merci

7 réponses

  1. lys44 Messages postés 59 Statut Membre 5
     
    Bonjour,

    As-tu essayé ceci ??? :

    $body_top .= "Content-type: text/plain; charset=iso-8859-1\n";
    0
  2. gilbertgibert Messages postés 70 Statut Membre
     
    Voici mon script:

    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset= UTF-8"/>

    <title>Document sans nom</title>
    </head>

    <body>
    <?php

    $TO = "mon email@truc.fr";

    $h = "From: " . $TO;

    $message = "";

    while (list($key, $val) = each($HTTP_POST_VARS)) {
    $message .= "$key : $val\n";
    }
    mail($TO, $subject, $message, $h);

    ?>
    <p style="text-align: left;">
    <input type="button" name="contact" value="Retour" onclick=window.open("index.html",'_self');
    )>

    </body>
    </html>
    0
  3. gilbertgibert Messages postés 70 Statut Membre
     
    Voici mon script, je ne vois pas ce que je peux faire

    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset= UTF-8"/>

    <title>Document sans nom</title>
    </head>

    <body>
    <?php

    $TO = "truc@bidule.fr";

    $h = "From: " . $TO;

    $message = "";

    while (list($key, $val) = each($HTTP_POST_VARS)) {
    $message .= "$key : $val\n";
    }
    mail($TO, $subject, $message, $h);
    echo "<P align=left>";
    echo "Votre formulaire a bien été envoyé !</P>";
    echo "</BODY></HTML>";

    ?>

    </body>
    </html>
    0
  4. lys44 Messages postés 59 Statut Membre 5
     
    Essaye de changer ton charset

    par

    <meta http-equiv="Content-Type" content="text/html; charset= iso-8859-1\n"/>
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gilbertgibert Messages postés 70 Statut Membre
     
    J'ai essayé, ça ne marche pas.
    0
  7. lys44 Messages postés 59 Statut Membre 5
     
    Tu as essayé de mettre des choses dans ce genre? :

    $entetes.= "MIME-version: 1.0\n";
    $entetes.= "Content-type: multipart/mixed; ";
    $entetes.= "boundary=\"Message-Boundary\"\n";
    $entetes.= "Content-transfer-encoding: 7BIT\n";

    $body_top = "--Message-Boundary\n";
    $body_top .= "Content-type: text/plain; charset=iso-8859-1\n";
    $body_top .= "Content-transfer-encoding: 7BIT\n";
    $body_top .= "Content-description: Mail message body\n\n";

    $msg .= "\n\n--Message-Boundary\n";
    $msg .= "Content-type: $attach_type; name=\"$attach_name\"\n";
    $msg .= "Content-Transfer-Encoding: BASE64\n";
    $msg .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
    $msg .= "$encoded_attach\n";
    $msg .= "--Message-Boundary--\n";
    0
  8. gilbertgibert Messages postés 70 Statut Membre
     
    J'ai trouvé la solution.
    la page du formulaire doit être en
    charset=windows-1252
    et là plus de problème, tous les caractères passent correctement.
    J'espère que cela pourra servir à d'autres.
    0