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

كود PHP:
                       <meta content="text/html; charset=windows-1256" http-equiv="Content-Type" /> 

النقطة الاساسية charset=windows-1256"
ولقد قام الكثيير بالتحويل الى الترميز العالمي
utf-8 لحل اغلب مشاكل الترميز وانا فكرت في ذلك طبعا الفرق بين الترميزين هو حجم الذاكرة الذي يستهلكه كل منهما
ومن خلال الابحاث التي حاولت جاهد تم ايجاد المشاكل التالية
عند استخدام نوع الارسال في ajax تقوم المستعرضات بارسال البيانات على شكل ترميز اخر منها utf-8
وهيا المستعرضات الحديثة ومنها الترميز
windows-1256 ومنها iso 8859-1 وهذه العقبة مشكلة كبيرة مع العملم انا قمنا بتحديد الهيدر في اول الصفحة وهو

كود PHP:
                       @header ('Content-Type:text/html;charset=windows-1256'); 

مع ذلك لم يفلح
فبدات في بعض التجارب الا ان وجدت الذي ابحث عنها وهيا تغيير الاعدادات الاقلمية عبر الكود البرمجي في بي اتش بي
وهيا مجموعة الدوال

كود PHP:
                       iconv 

الاكواد التي سنقوم باستخدامها

كود PHP:
                       iconv_set_encoding("internal_encoding""windows-1256"); 
iconv_set_encoding("output_encoding""windows-1256"); 
iconv_set_encoding("input_encoding""windows-1256"); 

iconv_set_encoding وهيا تقوم بتحديد نوع الترميز
لو نلاحظ انه يحتاج الى بارمترين الاول هو نوع التحكم بالترميز
internal_encoding == الترميز الداخلي
output_encoding==الترميز الذي سينتج من عمليات الخرج
input_encoding == الترميز الذي ينتج عن عمليات الدخل

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

ثم البارمتر الثاني هو نوع الترميز المراد التعامل معه وجعله الترميز الاساسي
ويكون هذا الكود في صفحة ادخال المعلومات اي في صفحة الفورم السبب من ذلك
ان الاجراءات التي هيا سبب المشكلة صفحة ادخال واخراج البيانات منها وهي صفحة الفورم
وبذلك تضمن ان عملية ارسال البيانات بترميز window-1256 صحيحة 100% بأذ ن الله
ولن تحتاج الى اصناف تحويل الترميز وغيرها مما يساعد في عملية تقليل الكود
طبعا يمكنك معرفة نوع الترميز عبر الدالة

كود PHP:
                       iconv_get_encoding 

مثال

كود PHP:
                       var_dump(iconv_get_encoding('all')); 


كود PHP:
                       Array 

    [
input_encoding] => ISO-8859-
    
[output_encoding] => ISO-8859-
    
[internal_encoding] => UTF-


طبعا استخدمنا البارمتر all للدالة على اننا نريد جميع الخرج ويمكنك التحكم بحسب البارمتر الذي تريد اضافته اي output_encoding وغيرها
ولمزيد من المعلومات والدوال يرجى زيارة الرابط التالي
http://www.php.net/manual
/en/function.iconv.php

والله ولي التوفيق