Données qui disparaissent dans htmlentities o_O

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 : Données qui disparaissent dans htmlentities o_O

Re: Données qui disparaissent dans htmlentities o_O

par yannG1040 » 13 avr. 2013, 20:46

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 :(

Re: Données qui disparaissent dans htmlentities o_O

par moogli » 12 avr. 2013, 21:05

salut,

que donne un var_dump($data); ?


@+

Données qui disparaissent dans htmlentities o_O

par yannG1040 » 12 avr. 2013, 20:12

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 ?