السلام عليكم
لدي مشكلة في ترميز قاعدة بيانات ، اللغة العربية تظهر على شكل رموز
اريد استخدام البيانات في موقع وربرس وعند النقل يتم الاحتفاظ بنفس الرموز
هل من كود لنقل القاعدة الى قاعدة اخرى واتناء النقل يتم تغيير التشفير
مرحبا،
إسم الترميز الذي يدعم جميع اللغات هو utf8_unicode_ci
كيف نقوم بتعديل ترميز جدول معرف مسبقا؟
1- إفتح PhpMyAdmin.
2- قم بالدخول إلى قاعدة البيانات التي تريد تغيير ترميزها.
3- أنقر على كلمة Operations.
4- إنزل إلى أسفل الصفحة حتى تجد القسم الخاص بالترميز, القسم إسمه Collation.
5- قم بتغيير الترميز الذي تجده إلى utf8_unicode_ci و من ثم قم بوضع علامة صح على الخيار Change all tables collations و الخيار Change all tables columns collations كما يظهر في الصورة التالية.
في الأخير يجب أن تنقر على الزر GO حتى يتم حفظ التغييرات.
هكذا تكون قد قمت بتعديل ترميز قاعدة البيانات و جداولها و أعمدتها حتى تقبل اللغة العربية.
حسنا،
بعد ذلك يجب جعل اتصال PHP الخاص بقاعدة البيانات متوافق مع اللغة العربية واليونيكود حيثُ يجب إضافة الأمر
mysql_set_charset('utf8');
بعد إنشاء الاتصال بقاعدة البيانات سيكون شكل الكود النهائي على النحو
@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++ ويتم ذلك بالضغط على Encoding ومن القائمة المُنسدلة يجب اختيار Encoding UTF-8.
أيضًا ومن أجل عرض اللغة العربية في المُتصفح يجب كتابة كود الميتا داخل وسم head بإضافة ما يلي:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
في وسم Form (إذا كان لديك خانات سيدخلها المستخدم) ضع الخاصية التالية
accept-charset="utf-8"
بالوفيق.
التعليقات