لتحويل قاعدة بيانات قديمة لا تحمل ترميز UTF-8 ⚠️ فإننا نحتاج إلى خطوات قليلة يجب تنفيذها بدقة وعناية
اولاً: 🟡 في البداية نحتاج إلى محرر لغات برمجية خاص وهو مجاني ويمكن تحميلة من الموقع الرسمي الخاص به والشرح في الرابط التالي:
📁 محرر النصوص EmEditor للتعامل مع قواعد البيانات sql الضخمة
ثانياً: 🟡 نحن هنا نتحدث عن قاعدة بيانات ضخمه، ❌ حجمها أكثر من واحد جيجا، لذلك نحتاج الى أخذ نسخة أحتياطية من قاعدة البيانات التي تريد تحويلها وتغيير ترميزها ويمكن مراجعة الرابط التالي:
📁 أوامر Shll لتحسين عمل قواعد البيانات
ثالثاً: 🟡 استخدم الأمر التالي لتصدير 📁 الهيكل + البيانات لقاعدة البينات المطلوبة والتي من المؤكد انها تحمل الترميز latin1:
mysqldump -u root --skip-set-charset --default-character-set=latin1 flying > flying_20-05-2025_latin1.sql
رابعاً: 🟢 بعد الحصول على نسخة من قاعدة البيانات بهذه الصيغة بالملف التالي: flying_20-05-2025_latin1.sql
💡 نقوم بفتح الملف في محرر: EmEditor
نتأكد بأن الأحرف العربية مقروءة ومفهومة جيداً فهذا يعني أن الترميز داخل الملف هو فعلياً Windows-1256 وأحياناً (cp1256) - ولكنه محفوظ كـ latin1 ظاهرياً — وهذا أمر شائع مع قواعد البيانات العربية القديمة.

خامساً: 🔴 في حال لم تكن الأحرف العربية واضحة فهنا نتبع الخطوات التالية: 🧭 الخطوات التفصيلية
افتح الملف داخل EmEditor:
اسحب الملف flying_20-05-2025_latin1.sql إلى EmEditor.
إذا ظهرت لك نافذة "Select Encoding"، اختر:
✅ Western European (Windows) أو Latin1 (أو جرب مباشرة Windows-1256)
إذا لم تظهر الأحرف العربية سليمة كما في الصورة، أكمل للخطوة التالية.
اضبط الترميز الحالي يدويًا:
أكمل الشرح بالصور
سادسا: 🟡 وهو الأهم في تحويل ترميز قاعدة البيانات ✅ لتحويل الملف من latin1 إلى UTF-8 بواسطة محرر EmEditor:
🧭 من خلال الخطوات التفصيلية نفذ الاستبدالات كما يلي:
🔍 تابع الصور مع التعديلات



📊 مجموع الاستبدالات يساوي عدد الجداول في قاعدة البيانات، بحيث لوكانت قاعدة البيانات مكونة من 160 جدول فإن كل استبدال يساوي 160 مرة إلا أستبدال خصائص الصفوف ربما اقل بكثير
سابعاً: 🟡 استيراد قاعدة البيانات الى قاعدة جديدة في موقعك أو في السيرفر المحلي
⛔ في البداية أنشئ قاعدة بيانات جديدة على سيرفرك الخاص أو في موقعك مثلا أعطها الأسم: flyin_utf8
ولديك الملف الذي تم تصديره بعد التعديلات بواسطة محرر EmEditor اسمه: new_data_20-05-2025_utf8.sql
بالطريقة التالية:
🔺 ملاحظة: هنا لم أستخدم كلمة مرور حيث اني أعمل من خلال السيرفر المحلي
mysql -u root flyin_utf8 < new_data_20-05-2025_utf8.sql
صورة من داخل phpMyadmin توضح أن اللغة تم تحويلها وتغير الترميز إلى UTF-8
اولاً: 🟡 في البداية نحتاج إلى محرر لغات برمجية خاص وهو مجاني ويمكن تحميلة من الموقع الرسمي الخاص به والشرح في الرابط التالي:
📁 محرر النصوص EmEditor للتعامل مع قواعد البيانات sql الضخمة
ثانياً: 🟡 نحن هنا نتحدث عن قاعدة بيانات ضخمه، ❌ حجمها أكثر من واحد جيجا، لذلك نحتاج الى أخذ نسخة أحتياطية من قاعدة البيانات التي تريد تحويلها وتغيير ترميزها ويمكن مراجعة الرابط التالي:
📁 أوامر Shll لتحسين عمل قواعد البيانات
ثالثاً: 🟡 استخدم الأمر التالي لتصدير 📁 الهيكل + البيانات لقاعدة البينات المطلوبة والتي من المؤكد انها تحمل الترميز latin1:
- أسم قاعدة البيانات على السيرفر: flying
- الملف المطلوب استخراجه: flying_20-05-2025_latin1.sql
- الصيغة المطلوبة هي: latin1 - والسبب هي ان هذه الصيغة تحمل ترميز البيانات الموجودة بالاضافة إلى أن بيانات اللغة العربية كانت تدخل فيها بصيغة cp1256
mysqldump -u root --skip-set-charset --default-character-set=latin1 flying > flying_20-05-2025_latin1.sql
رابعاً: 🟢 بعد الحصول على نسخة من قاعدة البيانات بهذه الصيغة بالملف التالي: flying_20-05-2025_latin1.sql
💡 نقوم بفتح الملف في محرر: EmEditor
نتأكد بأن الأحرف العربية مقروءة ومفهومة جيداً فهذا يعني أن الترميز داخل الملف هو فعلياً Windows-1256 وأحياناً (cp1256) - ولكنه محفوظ كـ latin1 ظاهرياً — وهذا أمر شائع مع قواعد البيانات العربية القديمة.

خامساً: 🔴 في حال لم تكن الأحرف العربية واضحة فهنا نتبع الخطوات التالية: 🧭 الخطوات التفصيلية
افتح الملف داخل EmEditor:
اسحب الملف flying_20-05-2025_latin1.sql إلى EmEditor.
إذا ظهرت لك نافذة "Select Encoding"، اختر:
✅ Western European (Windows) أو Latin1 (أو جرب مباشرة Windows-1256)
إذا لم تظهر الأحرف العربية سليمة كما في الصورة، أكمل للخطوة التالية.
اضبط الترميز الحالي يدويًا:
أكمل الشرح بالصور
سادسا: 🟡 وهو الأهم في تحويل ترميز قاعدة البيانات ✅ لتحويل الملف من latin1 إلى UTF-8 بواسطة محرر EmEditor:
🧭 من خلال الخطوات التفصيلية نفذ الاستبدالات كما يلي:
🔍 تابع الصور مع التعديلات
| COLLATE=latin1_swedish_ci | COLLATE=utf8_general_ci |
| CHARSET=latin1 | CHARSET=utf8 |
| CHARACTER SET latin1 COLLATE latin1_bin | CHARACTER SET utf8 COLLATE utf8_general_ci |



📊 مجموع الاستبدالات يساوي عدد الجداول في قاعدة البيانات، بحيث لوكانت قاعدة البيانات مكونة من 160 جدول فإن كل استبدال يساوي 160 مرة إلا أستبدال خصائص الصفوف ربما اقل بكثير
سابعاً: 🟡 استيراد قاعدة البيانات الى قاعدة جديدة في موقعك أو في السيرفر المحلي
⛔ في البداية أنشئ قاعدة بيانات جديدة على سيرفرك الخاص أو في موقعك مثلا أعطها الأسم: flyin_utf8
ولديك الملف الذي تم تصديره بعد التعديلات بواسطة محرر EmEditor اسمه: new_data_20-05-2025_utf8.sql
بالطريقة التالية:
🔺 ملاحظة: هنا لم أستخدم كلمة مرور حيث اني أعمل من خلال السيرفر المحلي
mysql -u root flyin_utf8 < new_data_20-05-2025_utf8.sql
صورة من داخل phpMyadmin توضح أن اللغة تم تحويلها وتغير الترميز إلى UTF-8



تعليق