htmlspecialchars, htmlentities ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : htmlspecialchars, htmlentities ?

par AB » 09 janv. 2009, 17:20

par rolusseum » 09 janv. 2009, 14:23

par VaN » 09 janv. 2009, 01:00

Et comment fait-on pour spécifier l'encodage dans l'input ? Je ne vois rien qui ressemble à encode, dans les différents attributs d'un <input>.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Berzemus » 08 janv. 2009, 23:38

Bonsoir,
parce que le texte est de l'iso88591 alors qu'il est traité comme de l'utf8.
C'est pas le contraire ?
Je me le demande à chaque fois. l'utf8 affiche des caractères inconnus comme des points d'interrogation, l'iso avec des caractères exotiques. alors bon.. mais le problème est la, et il n'y a pas de meilleure solution, jusque une solution plus élégante: spécifier l'encodage dans l'input.

par blof » 08 janv. 2009, 21:28

Bonsoir,
parce que le texte est de l'iso88591 alors qu'il est traité comme de l'utf8.
C'est pas le contraire ?

par VaN » 08 janv. 2009, 21:15

Laquelle de ces 2 solutions est la meilleure ? Et comment l'appliquer ?

par Berzemus » 08 janv. 2009, 20:57

parce que le texte est de l'iso88591 alors qu'il est traité comme de l'utf8. Soit il faut signaler l'encodage dans la balise input, soit utiliser une fonction de conversion avant de vouloir manipuler les chaines.

htmlspecialchars, htmlentities ?

par VaN » 08 janv. 2009, 20:37

Bonsoir,

j'ai un <input type="text"> dont la value peut recevoir un string avec des caractères accentués.

J'aimerai donc transformer ces caractères accentués en caractères HTML, avant d'insérer ce string dans ma base de données. ("é" doit devenir "&eacute;" par exemple)

J'ai essayé htmlspecialchars() et htmlentities(), mais ils ne retournent pas le résultat voulu :
- sans traitement, un é se transforme en é
- avec htmlentities(), un é se transforme en &Atilde;&copy;
- avec htmlspecialchars(), un é se transforme en é

Existe t'il une fonction pour transformer un é en &eacute; (et de même pour tous les caractères accentués) ?