Htmlentities efface ma chaine
mariostar27
Messages postés
442
Statut
Membre
-
joseph -
joseph -
Bonjour,
Je développe en PHP et j'ai un problème sur une des mes fonction. voici le début de cette fonction :
en admettant que $_POST['nom'] = "allé" et $_POST['description']= "allé" j'obtiens :
Pourquoi la fonction htmlentities() supprime complètement mon string quand j'ai un caractère spécial ???
Je précise que sans caractère spécial, c'est correcte.
ATTENTION : si je met "allé" à la place des $_POST, le code fonctionne. j'obtiens bien allé et pas une chaine vide.
pouvez vous m'aider svp ???
gwennael
Je développe en PHP et j'ai un problème sur une des mes fonction. voici le début de cette fonction :
echo "On insert : ".$_POST['nom']." et ".$_POST['description']."<br/>"; $nom = htmlentities($_POST['nom']), ENT_QUOTES, 'UTF-8'); $description = htmlentities($_POST['description']), ENT_QUOTES, 'UTF-8'); echo "On insert : ".$nom." et ".$description."<br/>";
en admettant que $_POST['nom'] = "allé" et $_POST['description']= "allé" j'obtiens :
On insert : allé et allé On insert : et
Pourquoi la fonction htmlentities() supprime complètement mon string quand j'ai un caractère spécial ???
Je précise que sans caractère spécial, c'est correcte.
ATTENTION : si je met "allé" à la place des $_POST, le code fonctionne. j'obtiens bien allé et pas une chaine vide.
pouvez vous m'aider svp ???
gwennael
A voir également:
- Htmlentities efface ma chaine
- Chaine tnt gratuite sur mobile - Guide
- Récupérer un numéro de téléphone effacé - Accueil - Android
- Comment recuperer un message effacé sur whatsapp - Guide
- Ma télé ne capte plus aucune chaine - Guide
- Chaine radio - Télécharger - Médias et Actualité
3 réponses
Simple,
je n'avais pas précisé le charset de mon site. bref, la ligne à ajouter est :
en mettant :
ma base de données enregistre le "é" en é
sans cette ligne, il suffirai de mettre :
gwennael
je n'avais pas précisé le charset de mon site. bref, la ligne à ajouter est :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
en mettant :
$nom = htmlentities($nom, ENT_QUOTES, 'UTF-8')
ma base de données enregistre le "é" en é
sans cette ligne, il suffirai de mettre :
$nom = htmlentities($nom)
gwennael
joseph
$html = htmlentities($rows[$i][$j], ENT_QUOTES, "ISO-8859-15");
Bonjour,
Je suis étonné que PHP ne vous fasse pas un message d'erreur :
remplacez ceci
par cela
Parenthèses en trop.
Je suis étonné que PHP ne vous fasse pas un message d'erreur :
remplacez ceci
$nom = htmlentities($_POST['nom']), ENT_QUOTES, 'UTF-8'); $description = htmlentities($_POST['description']), ENT_QUOTES, 'UTF-8');
par cela
$nom = htmlentities($_POST['nom'], ENT_QUOTES, 'UTF-8'); $description = htmlentities($_POST['description'], ENT_QUOTES, 'UTF-8');
Parenthèses en trop.
je ne l'ai avais pas mi. c'est parce qu'a l'intérieur j'utilisais ma fonction trim() pour supprimer les espace en début et fin de chaine. pour je les avais enlevé ici parce qu'elles étaient inutile à l'explication. et j'ai oublié d'enlever les dernière parenthèse. Sinon effectivement il y a erreur et netbeans m'aurait souligné ça en rouge...
Merci quand même
Merci quand même