PHP : textarea et encodage utf8

Résolu
Bonjour,
Mon formulaire contient un textarea. Lorsque je le soumets par le bouton "submit", il appelle un fichier php qui va enregistrer le contenu de ce textarea dans un fichier texte. L'utilisateur qui entre ses données dans le textarea doit utiliser des caract?ères exotiques. J'ai donc encodé ma page en utf8. Les contenus des input=text de mon formulaire s'enregistrent correctement mais pas le contenu de l'input=textarea.
Comment on peut gérer ce problème ?

Je vous remercie de votre aide.

10 réponses

  1. J'avais un soucis, ça marchait sur mon serveur local de developpement mais pas sur le serveur en production.
    $search = télé
    mb_strtolower($search)=t?l?
    j'ai trouvé mb_strtolower($search, 'UTF-8')=télé

    C'est casse-pied ces problèmes d'encodage. On choisi utf8 pour pas avoir de soucis de compatibilité et voilà....

    c'est dur a faire une signature ;)
    1. même chose pour
      $debut=mb_strtoupper($sup_accent, 'UTF-8');

      $nbe=mb_strwidth($string, "UTF-8");

      $fin=mb_substr($string,1,$nbe, "UTF-8");
  2. Je ne l'ai pas résolu... Mais j'ai résolu la question en supprimant mon textarea !!!
    1. Remplace
      strpos, strlen, strpos, strtoupper, strtolower, split, substr
      par
      mb_strpos, mb_strlen, mb_strpos, mb_strtoupper, mb_strtolower, mb_split, mb_substr
      1. tu as précisé le jeu de caractère dans la section <head> de ton script?

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        1. et aussi la fonction htmlspecialchars( $text, ENT_COMPAT, "UTF-8") pour l'affichage.
          ça marche pour certaines personnes
        2. Oui je l'ai fait.
        3. htmlspecialchars( $text, ENT_COMPAT, "UTF-8") ne m'a pas résolu le problème.
      2. Si tes fichiers formulaire et texte sont en utf8 et que tu as des soucis, peut-être faut-il regarder l'encodage utilisé par le serveur php. Ou peut-être apache.
        1. Le serveur ne me semble pas y être pour quelque chose du fait que les contenus des input=text sont enregistrés avec les bons caractères.
      3. Oui, j'ai essayé, bien sûr. Mais dans mon cas, ça ne s'avère pas utile. En effet, le texte entré dans l'input text passe bien, sans besoin de utf8_encode. Je crois que le textarea pose problème. Une recherche sur google me montre que bien des gens ont du mal à gérer l'encodage pour les textes entrés dans un textarea.
        1. tu as essayé avec la fonction utf8_encode ?
          1. et utf8_decode pour l'opération inverse ;)