شرح تحويل الترميز latin1_swedish   إلى  utf8mb4_unicode

السلام عليكم ورحمة الله شرح تحويل الترميز قاعدة البيانات من latin1_swedish_ci ( أو utf8_general_ci ) إلى utf8mb4_u ..



الصفحة 1 من 2 < 1 2 > الأخيرة »


11-03-2019 02:40 صباحا
ali2014
عضـو مشارك
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 14-01-2014
رقم العضوية : 4839
المشاركات : 92
الدولة : المغرب
الجنس : ذكر
قوة السمعة : 800
موقعي : زيارة موقعي
PBBoard Version : 3.0.2
 offline 
السلام عليكم ورحمة الله
شرح  تحويل الترميز قاعدة البيانات من  latin1_swedish_ci  ( أو 
utf8_general_ci   إلى  utf8mb4_unicode_ci  لمن يملك منتدى منذ مدة .
من خلال تجربة شخصية وبعد معاناة  مع الترميز في حالة كان المنتدى يشتغل منذ مدة  :خاصة أن بعض الاستضافات لاتقبل  النسخ الاحتياطي من لوحة التحكم  المنتدى
اليكم خلاصة لأهم المراجل من أجل  التحويل  إلى  utf8mb4_unicode_ci 
وللتوضيح النسخة الجديدة Pbbord 3.0.3 أصبح ترميز قاعدة البيانات  utf8mb4

الموضوع هو تجميعة للمساهمات القيمة للاخوة الأفاضل  جزاهم الله خيرا .
kareem -   Mr King   - أبو العصافير  -  soliman  - واخرون

قبل البدأ : يجب دائما عمل نسخة إحتياطية 2 من قاعدة البيانات قبل التحويل.

أولا: وضعية البداية منتدى pbboard 3.0.2 :  قاعدة بيانات بترميز latin1_swedish_ci
MjY0MTY1MQ20202
MzE1MTk4MQ441
ثانيا ​الوضعية الوسطى المرغوبة  :  قاعدة بيانات بترميز utf8_general_ci 
MjQyMjkwMQ717105
ثالثا ​الوضعية النهائية المرغوبة  :  قاعدة بيانات بترميز  utf8mb4_unicode_ci
  Mjc4OTA2MQ20203
 
الخطوات : 
1- اذا تم التمكن من تصدير قاعدة  البيانات عبر لوحة التحكم المنتدى ، فسوف تكون بترميز  utf8_general_ci ( لتسهيل الشرح نرمز لها ب b*ase1 ) ، فالأمور أصبحث سهلة ويتم المرور للمرحلة 6  اسفله أو من خلال الترقية للنسخة الجديدة pbboard 3.0.3 
المشكلة هو في  حالة عدم التمكن  من تصدير قاعدة البيانات عبر لوحة تحكم المنتدى ( بسبب بعض الاستضافات التي تمنع ذلك) ،   فيتم تصدييرها عبر phpadmin الاستضافة .

- بعد ذلك سوف يتم الاشتغال على السيرفر المحلي localhost تجنبا للمشاكل  .

2- يمكن استعمل Wampserver2.4-x64.exe  ( المتوافق مع النسخة pbboard 3.0.2   حيث php 5.6 او أقل)


3- نقوم بتثبيث نسخة pbboard 3.0.2  

4- يتم الدخول php admin السيرفر المحلي ، ثم إنشاء  قاعدة بيانات جديدة (b*ase2) على السيرفر المحلي  ولكن لابد من تحديد :    utf8_genaral_ci

5- بالدخول على القاعدة الجديدة (b*ase2) يتم استراد قاعدة قاعدة بيانات السابقة  (b*ase1)
ملاحظة هامة  : يرجى الرفع من قيمية memory_limit  لتصبح مثلا  memory_limit = 1024M في ملف php.ini ( وذلك تجنبا للمشاكل وبحكم حجم قاعدة البيانات )


6- نقوم بفتح الملف  engine/libs/db.class.php 
نبحث

// mysql_query("set character_set_server='utf8'");
// mysql_query("set names 'utf8'");
 نقوم ​بحذف // لتصبح كمايلي:

mysql_query("set character_set_server='utf8mb4'");
mysql_query("set names 'utf8mb4'");

7-  نفتح ملف engine/libs/db_mysqli.class.php
نبحث

 

mysqli_query("set character_set_server='utf8mb4'");
mysqli_query("set names 'utf8mb4'");

 
 ​نقوم بحذف // لتصبح كمايلي:
mysqli_query("set character_set_server='utf8mb4'");
mysqli_query("set names 'utf8mb4'");
 
8- دائما على السيرفر المحلي : الخطوة الموالية نربط قاعدة بيانات b*ase2 بالمنتدى pbboard2 من خلال معلومات : engine/config.php
9- الخطوة الموالية ودائما على السيرفر المحلي يتم تحميل الملف المرفق الدي اشار اليه الأح الكريم kareem
>> للتحميل من هنا
ويتم تحرر الملف conv.php ونضع فيه معلومات قاعدة البيانات واسم المستخدم (b*ase2) ثم نرفع الملف لموقعنا على السيرفر المحلي
 في الملف الرئيسي للمنتدى (بجانب pbboard.class.php )
نقوم بزيارته ، سيظهر لك
Convert utf8 to utf8mb4
Start
اكبس على Start وسيقوم التحويل قاعدة البيانات النهائية   بالترميز utf8mb4_unicode_ci 

10- الخطوة الأخيرة تصدير قاعدة البيانات b*ase2 من السيرفر المحلى ، واسترادها على الاستضافة
لنحصل على المطلوب ، ويمكن الترقية للاصدار الجديد pbboard 3.0.3  

موفقين
 
 



تم تحرير الموضوع بواسطة :ali2014
بتاريخ:12-03-2019 12:47 صباحا


11-03-2019 04:17 صباحا
مشاهدة مشاركة منفردة [1]
Soliman
PBB Management
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 18-07-2009
رقم العضوية : 1
المشاركات : 11372
الدولة : السعودية
الجنس : ذكر
تاريخ الميلاد : 6-1-1980
الدعوات : 51
قوة السمعة : 67846
موقعي : زيارة موقعي
عدد الإجابات: 230
PBBoard Version : 3.0.2
 offline 
look/images/icons/i1.gif شرح تحويل الترميز latin1_swedish   إلى  utf8mb4_unicode
وعليكم السلام ورحمة الله وبركاته ،،

شكراً لك أخي ali2014  

للتنويه :نظام معالج الترقية إلى PBBoard 3.0.3  يعمل على فحص الترميز بشكل تلقائي وتحويله إلى utf8mb4 ان اكتشف ان الحروف لا تظهر باللغة العربية في قاعدة بيانات المنتدى.
بالتالي لا أرى حاجة لتطبيق مثل هذا الشرح فعندما يقوم المستخدم بالترقية إلى 3.0.3 سيتم تحويل الترميز تلقائياً وبشكل كامل لقاعدة البيانات.

805681



11-03-2019 06:50 مساء
مشاهدة مشاركة منفردة [2]
kareem
عضو متألق
rating
العضو غائب الدراسة
معلومات الكاتب ▼
تاريخ الإنضمام : 03-03-2014
رقم العضوية : 5072
المشاركات : 896
الجنس : ذكر
الدعوات : 1
قوة السمعة : 5780
موقعي : زيارة موقعي
عدد الإجابات: 74
PBBoard Version : 3.0.3
 offline 
look/images/icons/i1.gif شرح تحويل الترميز latin1_swedish   إلى  utf8mb4_unicode
بارك الله فيك أخ @ali2014 مازال للملف conv.php ضرورة لتوحيد Collation للجداول في حالات خاصة كوجود جداول البرنامج ب Collation latin1_swedish_ci ووجود جداول مضافة من الملحقات ب Collation utf8mb4_unicode_ci. عملت ترقية للمنتدى فنتج عنه وجود حقول ما زالت بترميز latin1 من جداول الملحقات المضافة مثل المتجر والميديا فاستعملت ملف conv.php الخطوة 1 فقط وتم توحيد الجداول وأعدت الترقية وتحويل الترميز فتمت فإذا حصل ذلك مع احد يجرب هذه الطريقة.

12-03-2019 12:37 صباحا
مشاهدة مشاركة منفردة [3]
ali2014
عضـو مشارك
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 14-01-2014
رقم العضوية : 4839
المشاركات : 92
الدولة : المغرب
الجنس : ذكر
قوة السمعة : 800
موقعي : زيارة موقعي
PBBoard Version : 3.0.2
 offline 
look/images/icons/i1.gif شرح تحويل الترميز latin1_swedish   إلى  utf8mb4_unicode
السلام عليكم
مشكور أستاذنا سليمان على التتبع والتنويه.
مشكور الأخ الكريم والعضو المتألق  kareem  
حيقية لآ أعرف سبب عدم التمكن  من التحويل من خلال  نظام معالج الترقية إلى PBBoard 3.0.3  ،  خاصة وأن  الترميز الدي كان للقاعدة البيانات هو  latin1_swedish_ci  حيث تبقى الرموز غير مفهومة وأخطاء في نهاية التحويل.
ربما المشكلة من إعدادت السيرفر ......

MTU3NzQyMQ88error
عموما : الحل المشار اليه يبقى يدوي (ويتطلب جهد ) ، ولكنه قد يحل المشكلة  لدى البعض.
دمتم متألقين
 
 



تم تحرير المشاركة بواسطة :ali2014
بتاريخ:12-03-2019 12:38 صباحا


12-03-2019 01:13 صباحا
مشاهدة مشاركة منفردة [4]
kareem
عضو متألق
rating
العضو غائب الدراسة
معلومات الكاتب ▼
تاريخ الإنضمام : 03-03-2014
رقم العضوية : 5072
المشاركات : 896
الجنس : ذكر
الدعوات : 1
قوة السمعة : 5780
موقعي : زيارة موقعي
عدد الإجابات: 74
PBBoard Version : 3.0.3
 offline 
look/images/icons/i1.gif شرح تحويل الترميز latin1_swedish   إلى  utf8mb4_unicode
المشاركة الأصلية كتبت بواسطة:ali2014
السلام عليكم
مشكور أستاذنا سليمان على التتبع والتنويه.
مشكور الأخ الكريم والعضو المتألق  kareem  
حيقية لآ أعرف سبب عدم التمكن  من التحويل من خلال  نظام معالج الترقية إلى PBBoard 3.0.3  ،  خاصة وأن  الترميز الدي كان للقاعدة البيانات هو  latin1_swedish_ci  حيث تبقى الرموز غير مفهومة وأخطاء في نهاية التحويل.
ربما المشكلة من إعدادت السيرفر ......

MTU3NzQyMQ88error
عموما : الحل المشار اليه يبقى يدوي (ويتطلب جهد ) ، ولكنه قد يحل المشكلة  لدى البعض.
دمتم متألقين



جرب ملف التحويل المرفق وتابع التحويل للخطوة الثانية مع ضرورة وجود نسخة احطياط وعدم تكرار الخطوة الثانية مرة ثانية واستعمله فقط على قاعدة بيانات بترميز latin1. هو نفس الملف conv.php ولكن مع تفعيل الخطوة الثانية لتحويل ترمي الحروف إلى utf8mb4. هل تنجح معك؟
 
 
 
  conv_latin1_utf8mb4.zip   تحميل zip مرات التحميل :(1)
الحجم :(2.055) KB


12-03-2019 02:15 صباحا
مشاهدة مشاركة منفردة [5]
ali2014
عضـو مشارك
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 14-01-2014
رقم العضوية : 4839
المشاركات : 92
الدولة : المغرب
الجنس : ذكر
قوة السمعة : 800
موقعي : زيارة موقعي
PBBoard Version : 3.0.2
 offline 
look/images/icons/i1.gif شرح تحويل الترميز latin1_swedish   إلى  utf8mb4_unicode
المشاركة الأصلية كتبت بواسطة:kareem
جرب ملف التحويل المرفق وتابع التحويل للخطوة الثانية مع ضرورة وجود نسخة احطياط وعدم تكرار الخطوة الثانية مرة ثانية واستعمله فقط على قاعدة بيانات بترميز latin1. هو نفس الملف conv.php ولكن مع تفعيل الخطوة الثانية لتحويل ترمي الحروف إلى utf8mb4. هل تنجح معك؟
 

السلام عليكم
مشكور على التتبع.
لم تنجح العملية : المنتدى اصبح عبارة عن علامات استفهام  ( العربية : ????? ???????? )
عموما بالنسبة لي قد تمكنت من التحويل ل utf8mb4_unicode_ci  باستعمال ماسبقت الاشارة اليه في الشرح أعلاه.
حفظكم الله جميعا
بالتوفيق
 

12-03-2019 02:16 صباحا
مشاهدة مشاركة منفردة [6]
Soliman
PBB Management
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 18-07-2009
رقم العضوية : 1
المشاركات : 11372
الدولة : السعودية
الجنس : ذكر
تاريخ الميلاد : 6-1-1980
الدعوات : 51
قوة السمعة : 67846
موقعي : زيارة موقعي
عدد الإجابات: 230
PBBoard Version : 3.0.2
 offline 
look/images/icons/i1.gif شرح تحويل الترميز latin1_swedish   إلى  utf8mb4_unicode
المشاركة الأصلية كتبت بواسطة:ali2014
السلام عليكم
مشكور أستاذنا سليمان على التتبع والتنويه.
مشكور الأخ الكريم والعضو المتألق  kareem  
حيقية لآ أعرف سبب عدم التمكن  من التحويل من خلال  نظام معالج الترقية إلى PBBoard 3.0.3  ،  خاصة وأن  الترميز الدي كان للقاعدة البيانات هو  latin1_swedish_ci  حيث تبقى الرموز غير مفهومة وأخطاء في نهاية التحويل.
ربما المشكلة من إعدادت السيرفر ......

MTU3NzQyMQ88error
عموما : الحل المشار اليه يبقى يدوي (ويتطلب جهد ) ، ولكنه قد يحل المشكلة  لدى البعض.
دمتم متألقين


استبدل ملف : install/resources/upg_303.php
بالموجود بالمرفقات

واستعد النسخة الاحتياطية لقاعدة البيانات ثم اعد الترقية وابلغني بالنتيجة ..
 
 
  upg_303.zip   تحميل zip مرات التحميل :(2)
الحجم :(3.114) KB



الصفحة 1 من 2 < 1 2 > الأخيرة »


الكلمات الدلالية
تحويل ، الترميز latin1_swedish ،  utf8mb4_unicode ،







الساعة الآن 05:09 مساء