تسجيل الدخول

مشاهدة النسخة كاملة : طريقة حل مشكلة العربي واليونيكود unicode في قواعد بيانات MySQL باستخدام PHP


star
15-02-2017, 11:00 AM
طريقة حل مشكلة العربي واليونيكود unicode في قواعد بيانات MySQL باستخدام PHP


تغيير نوع قاعدة البيانات إلى اليونيكود المناسب

في الوضع الإفتراضي,MySQL إل راح ينشيء الجداول والخانات تحت ترميز utf8_unicode_ci. الترميز هذا ما يشتغل ويجب تغييره إلى ترميز utf8_general_ci.

فقط للاعضاء المسجلين يمكنهم رؤية الروابط (فقط للاعضاء المسجلين يمكنهم رؤية الروابط)



جعل اتصال الـphp لقاعدة البيانات متوافق مع العربي واليونيكود

هنا كانت النقطة اللي تطلبت مني بحث مكثف وما حصلت احد بالمواقع يتكلم عنها. نقطة بسيطة جدا لحل مشكلة العربي في البرمجة والتخزين. المطلوب انك تجعل اتصال البي اتش بي يقبل اليونيكود قبل ما تبدأ اوامر التخزين. هنا الطريقة:

هذا الكود اللي بالعادة نكتبه لما ننشئ اتصال بين البي اتش بي وقاعدة البيانات
PHP كود :




@mysql_connect($DB_host, $DB_user, $DB_pass) or die("Could not connect!");



@mysql_select_db($DB_name) or die("Could not select database!");






الطريقة ببساطة انك تظيف الأمر mysql_set_charset('utf8'); بعد ما تنشئ الاتصال بقاعدة البيانات مباشرة. هنا يكون شكل الكود:
PHP كود :



@mysql_connect($DB_host, $DB_user, $DB_pass) or die("Could not connect!");



mysql_set_charset('utf8');



@mysql_select_db($DB_name) or die("Could not select database!");






تخزين ملف PHP بصيغة يونيكود

أيضا هذه النقطة كانت من الأشياء اللي تطلبت مني وقت لحلها. بكل بساطة لما تخزن ملف البي اتش بي نفسه لازم تخلي الترميز حقه ترميز يونيكود. كل برنامج طبعا له طريقته، وانا البرنامج اللي استخدمه هو NotePad++ وهنا طريقة التحويل:

فقط للاعضاء المسجلين يمكنهم رؤية الروابط (فقط للاعضاء المسجلين يمكنهم رؤية الروابط)



طبعا لا تنسى اذا كنت تبي تعرض عربي في المتصفح انك تكتب الميتا تاق المناسب داخل تاق الـ head. وهذا المطلوب كتابته:

PHP كود :



<meta فقط للاعضاء المسجلين يمكنهم رؤية الروابط"Content-Type" content="text/html; charset=utf-8" />







وأيضا اذا كان عندك خانات يدخلها المستخدم لازم في تاق الـ form تحط الخاصية التالية:

PHP كود :



accept-charset="utf-8"







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