J'ai une webapp qui stocke le texte français - qui inclut potentiellement des caractères accentués - dans une base de données MySQL. Lorsque les données sont récupérées directement via PHP, les caractères accentués deviennent gibbirish. Par exemple: qui r�fl�te la liste.
Caractères accentués stockés dans la base de données MySQL
Par conséquent, j'utilise htmlentities()
(ou htmlspecialchars()
) pour convertir la chaîne en entités html, et tout va bien. Cependant, lorsque je produis des données qui contiennent à la fois des caractères accentués et des éléments HTML, les choses deviennent plus compliquées. Par exemple, <strong>
est converti en <strong>
et n'est donc pas compris par le navigateur.
Comment puis-je obtenir simultanément des caractères accentués correctement affichés et mon HTML correctement analysé?
Merci!
Nous avons dû le faire lorsque nous avons rencontré des caractères polonais dans notre base de données SQL, avec un peu de chance pour MySQL. – Daniel
utf8_encode() a fait l'affaire. Merci! –
-1 Cela peut fonctionner, mais cela peut ne pas fonctionner à cause de la raison pour laquelle vous pensez que cela fonctionne et que vous ne corrigez pas la cause du problème d'encodage. S'il vous plaît lisez [Ce que chaque programmeur absolument, positivement doit savoir sur les codages et les jeux de caractères pour travailler avec du texte] (http://kunststube.net/encoding/) pour ce que fait réellement utf8_ * et [Manipulation Unicode Front to Back In Une application Web] (http://kunststube.net/frontback/) pour savoir comment résoudre le problème. – deceze