مجتمع المهيبرين
Close

تعريب قواعد البيانات اللاتينية لحل مشكلة علامات الاستفهام عند حفظ البيانات باللغة العربية

  • Home
  •  / 
  • Blog
  •  / 
  • HyERP
  •  / 
  • تعريب قواعد البيانات اللاتينية لحل مشكلة علامات الاستفهام عند حفظ البيانات باللغة العربية

تعريب قواعد البيانات اللاتينية لحل مشكلة علامات الاستفهام عند حفظ البيانات باللغة العربية

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

اولا قم بعمل نسخة احتياطية لقاعدة البيانات

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

mysql -B -N --user=user --password=secret -e "SELECT distinct CONCAT( 'alter table ', TABLE_SCHEMA, '.', TABLE_NAME, '  CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' ) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'DBname';" > alter.sql

ثم

mysql --user=user --password=secret < alter.sql

الطريقة الثانية تقوم بتعديل كلي شامل البيانات و تصلح للمواقع الجديدة غير المحملة ببيانات بعد.. او تاكد من عدم وجود بيانات بالكوليشن الذي ستغيره قبل البدء و هي كالتالي

من خلال شاشة اس اس اتش اتبع الاوامر التالية

1- استخراج او تصدير قاعدة البيانات بدون كوليشن عبر الامر التالي

mysqldump --user=username --password=password --default-character-set=latin1 --skip-set-charset dbname > dump.sql
 2- حذف ماله لاقة باللاتينية السويدية من الملف المستخرج عبر الامر التالي
sed -r 's/latin1/utf8/g' dump.sql > dump_utf.sql
 3- حذف قاعدة البيانات القديمة و اعادة انشائها من جديد
mysql --user=username --password=password --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"
 4- و اخيرا استيراد البيانات المنقحة بالكوليشن يو ام تي 4 الي قاعجة البيانات..
mysql --user=username --password=password --default-character-set=utf8 dbname < dump_utf.sql

المصدر:  https://stackoverflow.com/a/2150335

Related Posts

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *