PHP : textarea et encodage utf8 [Résolu/Fermé]

Signaler
Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
-
Messages postés
616
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
8 août 2013
-
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

Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
19
Je ne l'ai pas résolu... Mais j'ai résolu la question en supprimant mon textarea !!!
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59361 internautes nous ont dit merci ce mois-ci


tu as essayé avec la fonction utf8_encode ?
Utilisateur anonyme
et utf8_decode pour l'opération inverse ;)
Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
19
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.
Messages postés
616
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
8 août 2013
439
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.
Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
19
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.

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">
Utilisateur anonyme
et aussi la fonction htmlspecialchars( $text, ENT_COMPAT, "UTF-8") pour l'affichage.
ça marche pour certaines personnes
Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
19
Oui je l'ai fait.
Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
19
htmlspecialchars( $text, ENT_COMPAT, "UTF-8") ne m'a pas résolu le problème.
Messages postés
616
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
8 août 2013
439
Remplace
strpos, strlen, strpos, strtoupper, strtolower, split, substr
par
mb_strpos, mb_strlen, mb_strpos, mb_strtoupper, mb_strtolower, mb_split, mb_substr
Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
19
Merci... Je vais tester tout ça
Salut,
comment as-tu résolu ton problème?
Messages postés
616
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
8 août 2013
439
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 ;)
Messages postés
616
Date d'inscription
jeudi 7 décembre 2006
Statut
Membre
Dernière intervention
8 août 2013
439
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");
Messages postés
270
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
1 avril 2011
19
Qu'est-ce que ce fichier lib/lib.php ? Où le trouve-t-on ?