بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
------------------------------------------------------------------------
تحذير اداري :
لايتحمل المبرمج اي مسؤوليه اتجاه فقدان قاعدة بيانات او خطأ في عملية تحويلها مهما كانت الاسباب
لذلك عليك اتخاذ الحذر و اخذ نسخه احتياطيه لقاعدة البيانات قبل البدأ في عملية التحويل
------------------------------------------------------------------------
نبيه محبي !!
- الخطوة الأولي تضع فيها بيانات قاعدة البيانات التي تريد تحويلها والخطوة التالية تضع فيها بيانات قاعدة بيانات فارغة تماماً
- لا حاجة لأخذ نسخة احتياطية كون السكربت يعمل علي القاعدة الفارغة وليست الأصلية ولكن لا تنسي وتضع البيانات مقلوبة !!
- السكربت يعمل مع php5 فقط
طرحت من قبل أصدار أول من السكربت هنا
http://www.swalif.net/softs/swalif54/softs266228/
وقد واجه البعض مشاكل تم أصلاحها كلها في هذه الإصدارة
ما هي وظيفة السكربت ؟
1- تحويل من الترميز window-1256 لليونيكود utf-8
2- التحويل من اليونيكود utf-8 إلي الويندوز window-1256
3- ضبط مشكلة قاعدة البيانات وهي ان تكون القاعدة ترميزها latin1_swedish_ci ولكن محتواها عربي وهذا يجعل المحتوي يظهر رموز وشخابيط داخل phpmyadmin فهذا السكربت يقوم بحل هذه المشكلة وستظل قاعدتك علي نفس الترميز ولكن ستصبح الجداول cp1256_general_ci والمحتوي يظهر عربي
ما الجديد في الأصدار الثاني ؟
1- تم حل مشكلة نقل القاعدة وعدم نقل البيانات
2- تم حل مشكلة نقل البيانات كعلامات ؟؟؟؟
3- تم حل مشكلة ترك بعض الجداول او الحقول بدون تغير ترميزها مثل حقلي title و text في جدول post للفيبولتن
4- لم يعد هناك ملف كونفج ولكن ترفع وتبدأ العمل وتدخل بياناتك من خلال المتصفح
5- شرح كامل طوال خطوات العمل لما يتم عمله وتوضيح كل شئ لك
6- التحويل من وإلي الترميز بدون اخطاء فيمكنك تحويل منتداك من اليونيكود للترميز العربي بدون مشاكل
7- لم تعد بحاجة لدخول phpmyadmin وعمل نسخ للتوصيف فالسكربت يقوم بذلك بدقة
8- تقرير في نهاية التحويل هل التحويل تم بنجاح ام هناك جداول او حقول او بيانات مفقودة
9- وضعت قوالب منفصلة html وملف لغة تجهيز لإصدار فيما بعد بعدة لغات ولعدة ترميزات اخري
كيفية التحويل
1- أرقع ملفات السكربت علي موقعك
2- أفتح ملف session.php وضع فيه كلمة سر لتبدأ بها العمل ( هذا للأمان حيث لو نسيت ملفات السكربت علي موقعك لا يفتحه ويخرب لك الشغل اي زائر )
3- افتح الرابط الرئيسي
كود:
www.example.com/convert/index.php
4- ادخل محتوي session.php وأكمل
5- ادخل بيانات قاعدة البيانات التي تريد تحويلها
6- ادخل بيانات قاعدة بيانات اخري تقوم بعملها وتكون خالية لعمل عليها بعيداً عن قاعدة البيانات الخاصة بك ثم ادخل الترميز الذي تريد التحويل منه وليكن windows-1256 ثم الترميز الذي تريد التحويل له وليكن utf-8 ثم حدد هل الجداول في قاعدة البيانات لديك latin ام لا
يمكنك معرفة ذلك بالدخول لل phpmyadmin واسعراض قاعدة البيانات الخاصة بك لتري الترميز علي الفور
7- وافق علي نقل التوصيف
8- وافق علي بدأ نقل الداتا بعد تحديد عدد المدخلات لكل دورة ( أجعله أقل من 5000 لو كان منتداك او موقعك فيه بيانات كثيرة جدا وخاصة جدول post للفيبولتن ) وأترك العمل حتي يتم
9- قم بعمل ريبير للقاعدة بعد الأنتهاء من التحويل ليتم تحديث بيانات الأندكس ( يتم عمل ذلك في السكربت ولكن لزيادة الأمان )
بعد الأنتهاء اضغط علي زر اجراء التقرير ولو حدث معك خطأ أنقل لنا تقريرك هنا لأراجعه
ماذا بعد تحويل قاعدة البيانات ؟
من المفروض ان مهمتي تنتهي عند تحويلك لقاعدة البيانات والنظر بداخلها لتجد كل شئ عربي
ولكن هناك خطوات اخري يجب ان تقوم بها وهي
1- تحويل جلب البيانات من الداتا بيز
يجب عليك بعد التحويل أن تزيد تعليمة سكول في الصفحة وهي
كود PHP:
mysql_query("SET NAMES utf8");
أو لو كنت علي نفس الترميز فتكون
كود PHP:
mysql_query("SET NAMES cp1256");
أبحث عن ملف إتصال الداتا بيز في سكربتك وزود هذه التعليمة بعد التعليمة
كود PHP:
mysql_select_db()
والتي ستجدها لديك بكل تأكيد
دائما ما تكون ملفات الداتا بيز موجودة في مجلد include وإسم الملف يكون database.php أو mysql.php أو ما شابهها
2- تحويل الترميز في صفحة العرض
يجب أن تحوي صفحتك علي ميتا تاج بالترميز الجديد فبدل
كود HTML:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
يجب أن يكون
كود HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ستجدها غالبا في ملفات التمبلت في تملت ال header
أو ربما تجده متغير وقيمته في ملف اللغة
3- تحويل ملفات اللغة
لو كانت ملفات اللغة في قاعدة البيانات مثل الفيبولتن فسيقوم السكربت بتحويلها لك ولا تقلق
لو كانت ملفات اللغة منفصلة في مجلد language عليك أن تفتح ملفات اللغة كلها وتحفظها من جديد بترميز اليونيكود
وذلك بفتح الملف بمحرر متقدم وليكن editplus ثم عمل save as ثم تختار الترميز utf-8 وتوافق علي الحفظ
ثم تعيد رفع ملفات اللغة فوق القديمة
اما لو كانت اللغة مبعثرة داخل السكربت كبعض السكربتات الخاصة فعليك ان تحول كل صفحات السكربت التي تحوي نصوص عربية
أنتهي التحويل
مثال
تحويل منتدي فيبولتن
قبل كل شئ قم بغلق المنتدي ثم تفريغ دليل البحث من تحديث العدادات وعند بلوك تحديث عداد البحث ستجد رابط لتفريغ دليل البحث اضغط عليه ووافق
ثم قم بالدخول لخيارات المنتدي - خيارات المدقق الأدبي وقم بتفريغ ( منقح حروف ال ASCII الفارغة ) ازل كل ما فيه وأحفظ الخيارات
الخطوة الأولي نفس الخطوة بالأعلي وهي السكربت وتحويل القاعدة ثم بعد الأنتهاء ضع بيانات قاعدة البيانات الجديدة ( المحولة ) في ملف الكونفج للمنتدي ولا تنسي لو حدث معك اي مشكلة في المنتدي فيما بعد يمكنك وضع القديمة لتعود كما كنت بدون فقدان شئ
الخطوة الثانية لعملها ستفتح ملف config.php الخاصة بسكربت الفيبولتن والموجودة في مجلد ال include وتبحث
عن
كود PHP:
// $config['Mysqli']['charset'] = 'utf8';
وتزيل من أمامها ال // لتصبح فعالة
الخطو الثالثة لعملها ستذهب للوحة تحكم الفيبولتن ثم اللغات و العبارات ثم إدارة اللغة ثم أمام كل ملف لغة لديك تضغط [تعديل الخيار] ثم
تغير الترميز من عند نوع اللغة تضع الترميز الجديد وهو utf-8
الخطوة الرابعة لا تحتاجها لكون اللغة موجودة في قاعدة البيانات
هناك تطبيقات يجب عملها بعد الإنتهاء
ارفع مجلد ال install الخاص بنسختك داخل المنتدي
أرفع ملف tools.php اللي يكون في مجلد اسمه do_not_upload داخل المجلد install
أفتح الملف من خلال متصفحك ثم حدث الخيارات ومجموعات الأعضاء والكوكيز
بعد ذلك سجل الدخول لمنتداك وحدث العدادات وخاصة البحث
مثال أخر
سكربت 4image
الخطوة الأولي نفس الخطوة بالأعلي وهي التحويل بالسكربت ووضع بيانات القاعدة الجديدة
الخطوة الثانية لعملها ستفتح ملف db_mysql.php الموجود داخل مجلد include وتضع فيه الكويري
كود PHP:
mysql_query("SET NAMES utf8");
قبل
كود PHP:
return $this->connection;
مباشرة
الخطو الثالثة لعملها ستذهب لملف اللغة المسمي main.php الموجود في مجلد اللغة الخاصة بك داخل المجلد lang
ستجد متغير اسمه
كود PHP:
$lang['charset'] = "windows-1256";
غيره ل
كود PHP:
$lang['charset'] = "utf-8";
وستجد أيضا في ملفات القوالب الخاصة بتصميمك قالب header
كود HTML:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
يجب أن يكون
كود HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
الخطوة الرابعة
حمل كل ملفات مجلد اللغة داخل المجلد lang وحولها بمحرر متقدم
أنتهي
س و ج
س: حولت المنتدي فهل سأحتاج لعمل شئ فيما بعد ؟
ج: نعم لو حملت هاك معرب عليك تحويله الأول قبل رفعه من البرودكت في منتداك وتحويله يكون مثل تحويل ملفات اللغة بفتح بمحرر متقدم وإعادة حفظه باليونيكود
س: ظهر لي خطأ ؟
ج: ضع الخطأ هنا فأنا سأقدم الدعم الفني هنا فقط
س: لم أجد مكان وضع الكويري الجديدة ؟
ج: ضع لي أسماء ملفات الإنكلود لأخبرك بالصفحة المطلوبة وترسلها لي لأخبرك بالمكان
س: ما قائدة التحويل ؟
ج: سيخدمك ذلك في الاجاكس وفي محرك البحث للسكربت وفي عرض العربي في الروابط بدون مشاكل
س: ما هي أضرار التحويل ؟
ج: التحويل كله فوائد ولكن هناك ضرر واحد بسيط وهو زيادة حجم القاعدة مرة ونص إلي مرتين وهذه ليست مشكلة بالمرة
س: وصل التحويل عند الجدول post وأصبح بطئ جدا وأرتفع اللود
ج: أوقف العمل وأعده من جديد مع تقليل عدد المدخلات من 5000 ل 1000
س: لم افهم شئ مما قلت ؟
ج: ارفع ملفات السكربت لديك وأفتحه ثم خطوة بخطو أسألني وسأجيبك ماذا تفعل بالضبط فالعمل سهل جدا ولن يفقدك اي شئ بل كل شئ يتم علي قاعدة اخري ويمكنك العمل وموقعك يعمل بدون غلقه للتجربة فقط فلو نجح العمل أعد العمل من جديد ولو لم ينجح اسأل حتي تعرف السبب
- لو واجهتك مشكلة في التحويل اكتب كل ما تريده هنا سأساعدك
- ليس لدي وقت حالياً للتحويل للأسف فقد حولت للكثيريين بالمجان ولكني الأن مشغول ولكني مستعد لتقديم دعم كامل هنا في الموضوع
- الدعم مقدم من خلال سوالف او بريدي فقط وليس من خلال اي مكان اخر