Page 1 sur 1

Données qui disparaissent dans htmlentities o_O

Posté : 12 avr. 2013, 20:12
par yannG1040
Bonjour,

j'ai un bug depuis la mise à jour de PHP: lorsque j'utilise htmlentities, la chaîne de caractères que je lui envoie disparaît parfois !

Par exemple dans ce code :

Code : Tout sélectionner

while($data = mysqli_fetch_assoc($req)) { // on affiche les informations de l'enregistrement en cours ?> <li> <p class="presse_titre"><?php if (!empty($data['fichier'])) { ?> <a href="presse/<?php echo htmlentities($data['fichier']); ?>" target="_blank"> <?php } if (!empty($data['lien'])) { ?> <a href="<?php echo htmlentities($data['lien']); ?>" target="_blank"> <?php } echo htmlentities($data['nom']); ?></a></p> <p class="presse_decription">(<?php echo htmlentities($data['auteur']); ?>, <?php echo $data['jour']." ".$mois[$data['mois']]." ".$data['annee']; ?>)</p> </li> <?php }
Si $data['lien'] est empty, la ligne echo htmlentities($data['nom']); n'écrit rien, mais lorsque je retire htmlentities (echo $data['nom'];) ma chaîne de caractères s'affiche (sans les accents).

Quelqu'un comprend ce qui se passe ?

Re: Données qui disparaissent dans htmlentities o_O

Posté : 12 avr. 2013, 21:05
par moogli
salut,

que donne un var_dump($data); ?


@+

Re: Données qui disparaissent dans htmlentities o_O

Posté : 13 avr. 2013, 20:46
par yannG1040
Salut,

J'ai fait un var_dump et tout s'affiche bien (à l'exception des caractères spéciaux). En fait, htmlentities semble renvoyer une chaîne vide à cause d'un problème d'encodage. J'ai fait echo mb_detect_encoding($data['nom']); et je m'aperçois que les deux enregistrements qui s'affichent correctement (lequels n'ont pas de caractère spécial) sont an ASCII alors que les autres sont en UTF-8. Pourtant htmlentities est censé supporter l'UTF-8 #-o Je pige pas, et j'arrive pas à changer l'encodage de ma table :(