PHP : textarea et encodage utf8

Résolu
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   -  
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   -
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.


A voir également:

10 réponses

dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
Je ne l'ai pas résolu... Mais j'ai résolu la question en supprimant mon textarea !!!
1
Utilisateur anonyme
 
tu as essayé avec la fonction utf8_encode ?
0
Utilisateur anonyme
 
et utf8_decode pour l'opération inverse ;)
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
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.
0
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
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.
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
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">
0
Utilisateur anonyme
 
et aussi la fonction htmlspecialchars( $text, ENT_COMPAT, "UTF-8") pour l'affichage.
ça marche pour certaines personnes
1
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
Oui je l'ai fait.
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
htmlspecialchars( $text, ENT_COMPAT, "UTF-8") ne m'a pas résolu le problème.
0
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
Remplace
strpos, strlen, strpos, strtoupper, strtolower, split, substr
par
mb_strpos, mb_strlen, mb_strpos, mb_strtoupper, mb_strtolower, mb_split, mb_substr
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
Merci... Je vais tester tout ça
0
sahuni
 
Salut,
comment as-tu résolu ton problème?
0
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
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 ;)
0
CH4NCE Messages postés 620 Date d'inscription   Statut Membre Dernière intervention   728
 
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");
0
dimi3 Messages postés 269 Date d'inscription   Statut Membre Dernière intervention   20
 
Qu'est-ce que ce fichier lib/lib.php ? Où le trouve-t-on ?
-1