موضوع الرسالة: عرض النص العربي من المايسكيول الى البي اتش بي
السلام عليكم,
في هاذا الدرس بمشيئة الله سنتعلم كيفية عرض النص العربي من المايسيكول (Mysql) على صفحات البي اتش بي:
اذا كان ادخال النص عبر صفحة البي اتش بي (كم هو الان فى هاذا الدرس - النص بالغة العربية وعندما تحاول ان تستعمل برنامج مثل الـ PHPMYADMIN للتصفح سوف نرى نص غريباً ليس بالعربية؟
هاذا النص هو عربي بنصه ولاكن الـPHPMYADMIN لا يستطيع ترجمته... ولاكن البي اتش بي يترجمه ويعرضه كما هو الان بالغة العربية..
ولاكن ماذا اذا تم ادخال البيانات يدويا من خلال الـPHPMYADMIN ؟ أذا الزمك ادخال البيانات يدويا عليك اتباع هاذه الخطوات:
الخطوة الاولى:
تغيير الترتيب للجدول (Table Collation) الى الــ cp1256_general_ci يدويا او استعمال هاذا الكود على الـPHPMYADMIN:
كود:
ALTER TABLE `table_name` DEFAULT CHARACTER SET cp1256 COLLATE cp1256_general_ci
بدل الــ table_name ضع اسم الجدول...
الخطوة الثانية:
تغيير الترتيب للحقول العربية فقط. (Field Collation) الى الــ cp1256_general_ci يدويا او استعمال هاذا الكود على الـPHPMYADMIN:
كود:
ALTER TABLE `table_name` CHANGE `field_name` `field_name` VARCHAR( 255 ) CHARACTER SET cp1256 COLLATE cp1256_general_ci NOT NULL
بدل الــ table_name ضع اسم الجدول وبدل الـ field_name ضع اسم الحقل...
الخطوة الثالثة والخيرة:
الان PHPMYADMIN يفهم بان النص عربي وان تصفحنا الجدول سنرى النص عربي ولاكن اذا حاولنا عرض النص من خلال البي اتش بي يضهر كــ: ؟؟؟؟؟؟؟؟؟؟؟؟؟
ما هو السبب؟
السبب ان المترجم (Compiler) للبي اتش بي - المايسكيول لا يفهم ترتيب النص.... كل ما علينا ان نعمل هو تعريف ترتيب النص باستعمال هاذا المود على البي اتش بي:
:PHP كود
كود:
$activate_collation = @mysql_query("SET NAMES 'cp1256';");
والان اذا حاولنا عرض النص... انشاء الله سوف يضهر كنص عربي...
السلام عليكم,