خطأ في البرنامج النصي العربي في MySQL
سؤال
قمت بإدراج البيانات في MySQL قاعدة البيانات التي تشمل البرنامج النصي العربي. في حين أن الإخراج يعرض اللغة العربية بشكل صحيح ، فإن البيانات في MySQL تبدو مثل القمامة. شيء من هذا القبيل:
'صَومُ ثَلاثَةِ أيّامٍ مِن كُلِّ شَهرٍ ـ أربَعاءُ بَينَ خَ
يجب أن أكون قلقا حول هذا الموضوع؟ إذا كانت الإجابة بنعم ، كيف أجعله يظهر في نص عربي مناسب في MySQL؟
المحلول
تلك هي كيانات HTML.
إذا كان هذا النص
صَومُ ثَلاثَةِ أيّامٍ مِن كُلِّ شَهرٍ ـ أربَعاءُ بَينَ خَ
هو ما يفترض أن يكون في قاعدة البيانات الخاصة بك ، كل شيء على الأرجح على ما يرام: يتم تحويل مدخلاتك العربية إلى تلك الكيانات في مرحلة ما على طول الطريق.
لعرض الأحرف العربية الفعلية مثل أعلاه ، أدخلها في ملف نصي ، قم بتسميته something.htm
وافتحه في متصفحك.
يمكنك أيضًا تحويله إلى شخصيات "مناسبة" في جدول MySQL المشفر "مناسبة 8 ، ولكن لكي تحصل على أي مؤشرات كيفية القيام بذلك ، يجب أن تخبرنا بما اللغات/المنصات التي تعمل معها.
نصائح أخرى
كما يقول Pekka ، هذه هي كيانات HTML.
ومع ذلك ، لا يسعني إلا أن أفكر في استخدام UTF-8 (لكل من اتصال قاعدة البيانات وترميز HTML) قد يوفر لك بعض الألم على المدى الطويل. وبالمثل ، إذا كان ذلك ممكنًا (أي: إذا كان هذا نظامًا "جديدًا" بدلاً من قاعدة الكود الموجودة) ، فإنني أوصي بتخزين البيانات الخام في قاعدة البيانات (باستخدام mysql_real_escape_string لمنع حقن SQL ، إلخ) وترميز HTML عند نقطة الإخراج.
بشكل عام ، سيجعل هذا من السهل البحث في البيانات ، إلخ.