مشكلة الترميز للغة العربية
المقال الخامس من سلسلة التحدي
من منا لم يعاني يوماً من مشكلة الترميز هذه!
تبرمج صفحة ما وتفاجىء بأن الحروف العربية تظهر غريبة أو تتعامل مع قاعدة البيانات وتجلب منها معلومات باللغة العربية فتظهر أيضاً كرموز غريبة!
طبعاً الحل لهذه المشكلة هو استخدام الترميز العالمي utf8
وإليك الخطوات الصحيحة للحل الأمثل:
- ملف httpd.conf الذي يحتوي على إعدادات مخدم الأباتشي يوجد فيه سطر
- الملفات التي تكتب بها الكود البرمجي يجب أن يحفظ بترميز utf8
- إضافة الهيدر المناسب لكل صفحة
- الانتباه عند إنشاء داتا بيز أن تكون UTF-8، وكل الحقول النصية أيضاً (عند إنشاء كل حقل):
AddDefaultCharset UTF-8تأكد من أنه موجود وأحياناً يكون موجوداً ولكن قبله محرف # تأكد من إزالة هذا المحرف إن وجدته فهذا المحرف مهمته تعليق الكلام الذي بعده وإذا لم يكن هذا السطر موجوداً فضعه في الملف.
بعد ذلك أعد تشغيل السيرفر ليحمل الإعدادات الجديدة
مهمة هذا السطر أن يخبر المخدم بأن طريقة نقله للملفات يجب أن تكون بالترميز العالمي utf8
مستخدمي الويندوز يجب أن يحذروا من هذه الحالة … حيث أنك عندما تقوم بحفظ ملف ما من المفكرة يقوم تلقائياً بحفظه بترميز ANSI
وكل ماعليك هو الحذر قبل الحفظ باختيار ترميز utf8

يوجد حيلة ظريفة استخدمها عند البرمجة على ويندوز وهي إنشاء ملف فارغ وتغيير ترميزه ل utf8 ثم نسخ هذا الملف كلما أردت ملفاً جديداً وبهذه الطريقة ستخصل على ملفات ترميزها utf8 بسرعة.

بهذه الخطوات ستكون النتيجة محارف عربية واضحة ولن تعاني من مشاكل الترميز بعد ذلك












الخروج من مشكلة الترميز هو فائدة بسيطة من فوائد ال UTF-8
بجانب هذا الكثيييييير : على سبيل المثال :-
1) توفير نوع من ال Extendability للموقع من غير أى مشاكل فى عملية دعم عدد ضخم جدا من اللغات دون تعديل سطر فى الكود او ال DB
2) أنت ستكون أول المستفيدين من دوال ال Strings الجديدة أو خدمات ال API وماشابة و التقنيات المضافة ك Server أو Client لأنك ببساطة تدعم ال Standard وماشى علية
وحتى حاليا على سبيل المثال لا الحصر ال RegEx فى ال PHP لا تدعم من ال MultiByte Strings سوى ال Unicode (هناك طبعا ال Mbyte Extension ولكن الفرق فى القدرات و الانتشارية ضخم )
لم أتعرف عليك أخي الكريم؟
وماشاء الله يبدو أنه لديك معرفة جيدة بهذه الأمور … ولم أسمع بال Mbyte Extension من قبل !
[...] ذكرت بتدوينة سابقة أهمية ترميز الملفات كـ [...]