interpretation de texte et caractere speciaux

rich
Invité n'ayant pas de compte PHPfrance

07 sept. 2006, 16:30

Bonjour,

Je suis confronte a un petit probleme depuis pas mal de temps deja et je n'arrive pas a le resoudre. Ce la concerne les caracteres comme ' ou é .....

J'heberge sur une debian sarge une petite application de catalgue de rapport bidouiller par mes soins avec php / mysql.

Donc, il y a un formulaire avec des champs input type text, texarea ... ou on rempli les info, soit en les tapant au clavier, soit en faisant un copier coller.

Pour l'instant je n'ai jamais reussi a reutiliser le texte qui entre dans mysql pour le reafficher dans le catalogue : probleme avec ', ou probleme avec des symboles du style ۪ ou ̩.
J'ai essayer mysql_escape_string, de remplacer tous ces caractere par un "esapce vide"....c'est pas la joie quoi.

Si quelqu'un peut me briefer sur comment sa ce passe pour les transfere de characteres, comment son interpretes les caracteres.... et eventuellement me donner une petite "strategie" pour realiser mon stockage d'info, ca serait super cool ;-)

Richard

HD
Mammouth du PHP | 1181 Messages

08 sept. 2006, 11:43

salut
je te conseil deux fonctions :
htmlspecialchars:
Certains caractères ont des significations spéciales en HTML, et doivent être remplacés par des entités HTML pour être affichés. htmlspecialchars() remplace tous ces caractères par leur équivalent dans la chaîne string. Cette conversion est très pratique pour la programmation web. Si vous devez remplacer tous les caractères, utilisez plutôt htmlentities() à la place.

htmlspecialchars() est pratique pour éviter que des données fournies par les utilisateurs contiennent des balises HTML, comme pour un forum ou un chat. Cette fonction prend un deuxième argument optionnel, qui indique comment doivent être traités les guillemets doubles et simples. Vous pouvez utiliser l'une des constantes suivantes : ENT_COMPAT, la constante par défaut, va convertir les guillemets doubles et ignorer les guillemets simples; ENT_QUOTES va convertir les guillemets doubles et les guillemets simples; ENT_NOQUOTES va ignorer les guillemets doubles et les guillemets simples.
et htmlentities:
htmlentities est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]