Accents en php

Résolu
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. 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.
    1. 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";
      1. Essaye de changer ton charset

        par

        <meta http-equiv="Content-Type" content="text/html; charset= iso-8859-1\n"/>
        1. 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>
          1. 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>
            1. Bonjour,

              As-tu essayé ceci ??? :

              $body_top .= "Content-type: text/plain; charset=iso-8859-1\n";