Erreur dans le script arabe dans MySQL
Question
J'inséré des données dans un base de données MySQL qui comprend l'écriture arabe. Alors que la sortie affiche l'arabe correctement, les données de MySQL ressemble à ordures. Quelque chose comme ceci:
'صَومُ ثَلاثَةِ أيّامٍ مِن كُلِّ شَهرٍ ـ أربَعاءُ بَينَ خَ
Dois-je être inquiet à ce sujet? Si oui, comment puis-je faire apparaître dans le script approprié arabe dans MySQL?
La solution
Ce sont les entités HTML.
Si ce texte
صوم ثلاثة أيام من كل شهر أربعاء بين خ
est ce qui est censé être dans votre base de données, bien plus probable de tout: Votre entrée arabe est converti en ces entités à un moment donné le long du chemin
. Pour afficher les caractères arabes réels comme ci-dessus, les insérer dans un fichier texte, nommez-le something.htm
et l'ouvrir dans votre navigateur.
Vous pouvez également convertir en caractères natifs « appropriés » dans un encodage UTF-8 tableau mySQL, mais pour vous d'obtenir des pointeurs comment faire que vous auriez à nous dire quelles langues / plates-formes que vous travaillez.
Autres conseils
Comme le dit @Pekka, ce sont des entités HTML.
Cependant, je ne peux pas empêcher de penser en utilisant UTF-8 (tant pour la connexion de base de données et le codage HTML) pourrait vous faire économiser de la douleur à long terme. De même, si possible (par exemple: si ce système est « nouveau » plutôt que d'un code existant) Je vous recommande de stocker les premières données dans la base de données (en utilisant mysql_real_escape_string pour empêcher l'injection SQL, etc.) et le codage HTML à la point de sortie.
En général, cela facilitera la recherche des données, etc.