La base de données contient une tonne d'entrées qui n'ont pas été échappées parce qu'elles ont été saisies manuellement lorsqu'elles ont été insérées. Elles ne ressemblent pas à celles de l'entrée, mais lorsque je les affiche, elles ont un caractère bizarre. en PHP. Avant de mettre quelque chose dans la base de données j'utiliserais généralement mysqli_real_escape_string et ferais de même quand j'irai récupérer les données, mais puisque les données sont déjà stockées sans utiliser real_escape comment les afficher correctement?La base de données MySQL a des guillemets simples non échappés dans les entrées ... Comment les montrer?
Le caractère étant affiché à la place des guillemets simples ressemble à ceci:
Si elle aide les données sont stockées sous forme de « texte ».
Merci!
Pour les futurs utilisateurs du même problème est ici les étapes:
- Vérifiez vos têtes de site Web pour voir ce que l'encodage est
- Vérifiez vos colonnes de table MySQL et assurez-vous qu'ils correspondent.
- S'ils ne les modifient pas pour correspondre. utf8_general dans mysql et utf8 dans mon HTML a fonctionné pour moi
- Vous devrez revenir en arrière à travers les vieilles tables de mysql et les mettre à jour afin que le nouvel encodage soit réglé correctement.
- Les nouvelles entrées devraient fonctionner correctement
- Lorsque vous exportez vos résultats en PHP (ou je suppose que quelle que soit la langue que vous utilisez), en fonction de si vous utilisez une validation, vous devrez peut-être utiliser mysqli_real_escape_string ou une fonction similaire, tels que stripslashes()
+1 Exactement et voici une bonne introduction aux problèmes d'encodage: http://www.joelonsoftware.com/articles/Unicode.html – Andomar
merci pour les gars d'entrée ... Mon encodage sur le site est utf- 8, et j'ai changé la colonne de la base de données pour être utf8-general-ci, mais il a toujours le même problème ... tout ce que je devrais changer? – krx
Il me semble que vous devez savoir quelles sont ces données dans votre base de données. Vous devrez peut-être également convertir les données existantes. D'abord, je testerais que lorsque vous mettez de nouvelles données, puis que vous les affichez, elles sortent correctement. Ensuite, comprendre comment mettre à niveau/convertir les données existantes dans votre base de données – JasonWoof