message récupéré sur le net mais j'ai exactement le même problème et je n'ai pas compris les réponses :-(
un petit exemple me suffirait
merci d'avance!
J'ai un problème qui dépasse ma compréhension avec htmlentities et UTF-8.
- Je suis sous PHP 5.4.11
- J'ai une table MySQL avec un interclassement "utf8_general_ci" contenant une colonne TEXT avec un interclassement "utf8_general_ci", elle contient des caractères accentués français.
- Ma page HTML a un meta spécifiant UTF-8,
- quand j'utilise htmlentities je spécifie le charset UTF-8
Bref je suis UTF-8 du sol au plafond.
Pourtant, htmlentities s'acharne à ne pas comprendre mes données contenant éàèù etc, et à me retourner une string vide ou des caractères pourris selon que j'utilise les flags ENT_SUBSTITUTE, ENT_IGNORE etc etc (par exemple en ENT_SUBSTITUTE un "é" est rendu comme "�" )
Comment se fait-il que htmlentities bute sur de bêtes accents qui devraient passer sans problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
j'ai modifié par
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "<option value='".$row["imm_id"]."'>".$row["nomsite"]."</option>";
la valeur contenant des accents est invisible - j'ai testé avec toutes les valeurs autres que ENT_QUOTES - ça ne marche pas,
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "<option value='".$row["imm_id"]."'>".htmlentitie($row["nomsite"],ENT_QUOTES,"utf-8")."</option>";
toutes mes pages ont ce code au début
ma base, mes tables et tous mes champs sont en utf-8,
Code : Sélectionner tout - Visualiser dans une fenêtre à part header('Content-Type: text/html; charset=UTF-8'); /*obligatoire sur chaque page*/
bref!!! je ne trouve pas la solution
merci
Partager