PHP en utf-8

Bonjour,

Bonjour,

J'ai crée mon formulaire en html et la réception de ce formulaire via un .php

Cependant les écritures a caractère spéciaux (ex:é,à,ç,...) recu du formulaire que ce soit les rubriques ou les textes sont codé et on une forme bizarre ce qui empeche la lecture.

Comment convertir ceci automatiquement ?

Cdlt



--
Cddede Membre de CCM

2 réponses

  1. Bonjour,

    Dans votre head, placez ceci (cela va automatiquement faire que les accents seront lisibles) :

    <meta charset="UTF-8">

    Ensuite, si vous voulez insérer les informations en base de données, et que celles-ci contiennent des accents, rajoutez ceci lors de la connexion à la bdd :

    $db->exec("SET CHARACTER SET utf8");

    Cdlt
    1. Contributeur
      Voila le php :

      <?php

      $TO = "monmail@...fr";

      $h = "From: " . $TO;

      $message = "";

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

      mail($TO, $subject, $message, $h);

      Header("Location: http://maredirectiondemonchoix.com");

      ?>


      Si j'ajoute ceci : $db->exec("SET CHARACTER SET utf8");

      Mon formmlaire ne l'envoi plus.

      J'ai bien ceci dans mon HTML : <meta charset="UTF-8">

      Cdlt

      1. Alors votre problème c'est un problème d'accent lors de l'envoi d'un mail ? Cela change tout ! Veuillez rajouter ceci en dessous de $h = ... :

        $h.= 'Content-Type: text/plain; charset=utf-8'."\r\n";

        Et ensuite, lors de l'éxecution de la fonction mail, il faut tout encoder. Remplacez votre ancien code mail()... par ceci :

        mail($TO, '=?utf-8?B?'.base64_encode($subject).'?=', '=?utf-8?B?'.base64_encode($message).'?=', $h);
      2. Contributeur
        En dessous d'ou ?
         $h = ... :