Probleme lors mise a jour de textarea : encodage ?

Probleme lors mise a jour de textarea : encodage ? - PHP - Programmation

Marsh Posté le 24-05-2006 à 16:32:06    

Voila, j'ai actuellement des soucis tres embettant concernant tous ces types d'encodage.
 
Ce qu'il se passe :
 
Via un formulaire je recupere un texte dans une textarea, text que je met ensuite dans une base de donnée.
 
Sur ma page web j'utilise ca : charset=iso-8859-1
Et sur ma Bdd : latin1_swedish_ci (je sais pas quoi prendre d'autre)
 
Apres la recuperation du texte via php je lui fais ceci :
$contenu=nl2br(htmlentities($_POST['contenu'], ENT_QUOTES));
 
Puis je l'ajoute a la bdd.
 
Jusque la aucun probleme.
 
Lorsque que j'affiche le contenu de ce texte sur une autre page en faisant appel a la bdd, ca passe impec.
 
Seulement, lorsque je rappelle ce texte dans une textarea pour le modifier, il me sort dans le texte les <br />, et lorsque je revalide ce texte, et bien les <br /> font parti du texte, et les mises a la ligne n'existe plus.
 
 
Je m'y perd totalement.
 
Il doit bien y avoir une explication clair sur ce phenomene que bcp doivent connaitre et doivent avoir regler non ?
 
Merci d'avance

Reply

Marsh Posté le 24-05-2006 à 16:32:06   

Reply

Marsh Posté le 24-05-2006 à 16:32:36    

Forcément, on ne met jamais de <br> dans un textarea. Ni de balises quelconques.

Reply

Marsh Posté le 24-05-2006 à 16:43:22    

Arf... On ne traite jamais avant de mettre dans la BDD mais seulement quand ça ssort selon ce qu'on veut en faire!!!

Reply

Marsh Posté le 24-05-2006 à 16:46:06    

Ok je vais essayer tout ca.
 
je vous remercie, c'est vrai qu'a y repenser ... pas fut fut le Ahu ...

Reply

Marsh Posté le 24-05-2006 à 17:31:00    

dwogsi a écrit :

Arf... On ne traite jamais avant de mettre dans la BDD mais seulement quand ça ssort selon ce qu'on veut en faire!!!


C'est très discutable comme point de vue...
Dans la mesure ou les pages sont plus souvent accedées en lecture qu'en modification(dans 99% des sites web), il est parfois intéressant de stocker les données "traitées", et ainsi ne pas répeter le traitement de conversion à chaque demande de la page...
Biensur cela veut également dire "dé-tricoter" les données codées pour les écrans de modifications ...


Message édité par anapajari le 24-05-2006 à 17:31:50
Reply

Marsh Posté le 24-05-2006 à 19:01:23    

RE Arf...
Je sais à quel point c'est discutable pour en avoir justement pas mal discutté.
 
La question est sans doute de savoir quel traitement on va faire? Sont-ils lourd ou pas? Dans quelle mesure est-il possible de "dé-tricoter"? Et est-ce nécessaire?
 
Dans son cas il s'agit simplement de htmlentities() et de nl2br(). Rien de bien complexe. Il est donc plus simple de passer les chaînes dans ces fonctions lorsques les données sortent de la BDD plutôt que lorsqu'elles y entrent.


Message édité par dwogsi le 24-05-2006 à 19:02:09
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed