| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| [سكربت] - تحويل ترميز قواعد البيانات الإصدار الثاني قمت في ما مضى ببرمجة سكربت لتحويل ترميز قواعد البيانات MySQL إلى الترميز العربي cp1256 والحمدلله نال السكربت إستحسان من أغلب الأعضاء علماً بأن السكربت كان لا يدعم التحويل الى ترميز اليونيكوود UTF8. لذلك قمت بتطوير السكربت السابق بمميزات جديدة وفكره جديده تختلف عن الفكره السابقه عملها كالتالي: 1- يتم تحويل ترميز صفوف كل جدول بحيث يتم تحويل ترميز مجموعه من الصفوف عددها 500 صف وبعد الانتهاء منها يبدأ بتحويل ترميز مجموعه أخرى وهكذا حتى يتم الانتهاء من كل الصفوف. 2- يتم تحويل خاصية الترميز لحقول الجدول النصيه. 3- يتم تطبيق الخطوات السابقه على الجداول الأخرى بطريقه تتابعيه ويتم الانتهاء بتحويل ترميز قاعدة البيانات. قمت بإضافة شاشه للدخول عليها عند البدء بالسكربت وتعبئة البيانات اللازمه بدلاً من التعديل على الملف. السكربت يدعم تحويل أي قاعدة بيانات الى التراميز التاليه فقط: cp1256 utf8 السكربت بالمرفق بالتوفيق
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
|
العندليب .. رايتك بيضاء .. وسيتم التجربة بيض الله وجهك .. يامال العافية .. وياجعل يدينك تنحرم من النار .. قل آمين بصراحة احترت أدور على كلمة توفي حقك لكن للأسف مالقيت كلمة صادقة أصدق من شكراً لك ياعندل .. والله يعز مقدارك يالغالي .. ويوفقك ويسهل عليك كيف ماكنت ووين مارحت .. كلمة لك يالعندليب / أحبك في الله
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
لا هنت اخوي العندليب وبارك الله فيك .. وجزاك الله كل الخير عمل مميز ورائع تحيتي لك
__________________ ----------------------------------------------------------- :: همـ المشاعر ــس :: عبد الله :: للتصميم و التطوير :: http://www.mr-sa.com ----------------------------------------------------------- | |||||
|
| |||||
|
فعلا يا عندليب حليتلنا مشاكل كثرة ربنا يوفقك -------------- افلام تحميل افلام مسلسلات برامج صور فيديو خلفيات افلام عربية افلام اجنبية برامج منتدى تحميل صور مايو 200 مارس 2007 ابريل 2007 ابريل 2007 مارس 2007 فبراير 2007 يناير 2007 ديسمبر 2007 40 30 10 22 | |||||
|
| |||||
|
حقيقة نصيحة لكم من أخوكم .. أنصحكم جداً جداً بتحويل تراميز قواعد البيانات الخاصة بكم إلى cp1256 ولست أنا من يقول ذلك .. بل استاذنا وكبيرنا العندليب .. وكذلك جريح الحب يؤيد هذا الترميز وبشدة .. لماذا نرفض ترميز utf8 ..؟ لعدة أسباب : 1- لا يمكنك أبداً قراءة البيانات عبر القاعدة وذلك لأن رموزها غير مفهومة . 2- هذا الترميز لاترتب الحروف الدقيقة العربية .. كما هو الحال مع المتواجدون الآن حيث لاتفرق هذا الترميز بين ( ا ) و ( أ ) .. هكذا ترتيبها : احمد ، أمجد ، احمد ، أمجد 3- ثقيلة وتضاعف من حجم القاعدة إلى 3 أضعاف تقريباً ، فمثلا إذا كان لديك قاعدة حجمها 100 ميجا .. فستصبح حجمها بعد تحويل ترميزها إلى utf8 .. تقريباً 300 ميجا .. أما ترميز cp1256 فلها مميزات عديدة .. أهمها 1- بإمكانك قراءة البيانات على القاعدة بشكل مباشر باللغه العربية وبكل سهولة .. 2- هذا الترميز ترتب الحروف الدقيقة العربية .. مثل ( ا ) و ( أ ) مثل المتواجدون الآن هكذا ترتيبها : احمد ، امجد ، أحمد ، أمجد 3- تخف حجم القاعدة مابين النصف إلى ثلاثة أرباع الحجم السابق .. ومميزات عديدة رائعة ستكتشفها بنفسك عند تجربتها .. ويجب على الجميع عند التجربة أخذ نسخة احتياطية لضمان عدم حدوث مشاكل عند التحويل هذا مالدي .. وسأفسح المجال لغيري .. ولكم أجمل تحياتي ..
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
للأسف يالعندليب.. لم يفلح السكربت بالتحويل بشكل كامل .. بل عندما انتهت التحويل .. دخلت على القاعدة ولقيت البيانات كلها عبارة عن استفهامات ( ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ) أي انه قد تم ضياعه البيانات .. تأكد من السكربت .. أكيد فيه خطأ ؟؟ لأن السكربت الاصدار الأول تم تحويله بشكل ممتاز .. لكن لم يتم تحويل جدول القاعدة بشكل كامل .. وحركة 500 صف 500 صف في هذا الإصدار جميلة .. لكن أتوقع هناك خطأ بالسكربت أدى إلى ضياع البيانات بشكل كامل واصبحت كلها استفهامات كما ذكرت ( ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ) ممكن تشوف لنا الخلل لاهنت ؟
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
العفو يا أخواني وشكراً على إطرائكم الطيب وهذا من طيب أصلكم أخي مدمن نت أحبك الله الذي أحببتنا فيه وأتمنى بهذا السكربت تم حل مشكلتك. بخصوص مزايا تحويل ترميز قاعدة البيانات إلى cp1256 مع منتديات الـ vbulletin بشكل خاص مايلي: 1- حجم القاعده لن يكون مضاعفاً مثل حجم قاعدة ترميز اليونيكوود. 2- دقة البحث في المشاركات والعناوين. 3- دعم الباسوورد العربي. 4- دقة عناوين المواضيع المتشابهه التي تظهر أسفل كل موضوع. أما ترميز اليونيكوود فالعيب القوي الذي سنحصل عليه منه هو مضاعفة حجم أي بيانات يتم حفظها وهذه تستهلك من مساحة الموقع إضافة إلى أن بعض الدوال البرمجيه لا تتلائم مع بعض الحروف المكتوبه باليونيكوود من مايؤدي بنا إلى الدخول في نفق الثغرات المتعدده. تحياتي لكم
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
| اقتباس:
حولتها على الترميزين بالـ cp1256 والـ utf8 فكانت ناجحه. أعطني نسخه لجدول واحد من قاعدة بياناتك لنرى سوياً مكمن الخلل. بانتظارك
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
| اقتباس:
و لكن فعلا هناك خطأ فيها فهي تصدر علامات استفهام و جربت بنفسي و ظهر نفس الخطأ لي ارفقت لك صورة (الصورة من الموقع و لكن ايضا داخل phpmyadmin نفس الحال) بالتوفيق | |||||
|
| |||||
|
جزاك الله خير استاذي العندليب .. فقط لمعلوميتك .. قاعدة البيانات الخاصة بي ترميزها latin_swidesh أيضاً هل لإصدارات الـ MySQL علاقة بتلك المشكلة ؟ حيث إن إصدار الـ MySQL الخاصة بي : 4.1.21-standard
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
السلام عليكم ورحمة الله وبركاته الله يهديكم يا أخواني شككتوني والعمل سليم 100% والخطأ كان من اتصالكم سأثبت لكم أين مكمن الخلل لديكم والتي بسببها ظهرت الحروف لديكم ( ؟؟؟؟؟؟؟؟؟؟؟ ) سأضرب مثال حتى يتضح الخطأ إفرض أن لديك قاعدة بيانات ذات ترميز latin1 وتريد تحويل ترميزها الى الترميز العربي cp1256 قم بإستخدام سكربت DataBase Charset Converter v2.0 المرفق بالمشاركه الأولى للموضوع وتحويل قاعدة بياناتك الى ترميز cp1256 . بعدها قم بتحميل السكربت المرفق بهذا الرد MySQL Interface وهو سكربت قديم للإتصال بقواعد البيانات قمت بتطويره لنسخ 4.1 ومافوق. أدخل على السكربت وستظهر لك الشاشه التاليه: أدخل اسم المستخدم وكلمة المرور وعدل ترميز الاتصال charset إلى ترميز cp1256 بعدها ستظهر لك الجداول الموجوده بقاعدة بياناتك اختر اي جدول يحتوي على حروف عربيه واضغط على رابط data وستشاهد قاعدتك قد تحولت الى ترميز عربي. الخطأ لديكم كان من ترميز الاتصال والتي ذكرناها في موضوع ترميز الـ MySQL حيث ذكرنا أنه يجب استخدام جملة Set Names cp1256 للعربي Set Names UTF8 لليونيكوود وأي سؤال أنا حاضر بانتظاركم
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
|
أخي لم تفهم قصدي أنا كان لدي القاعدة لاتين وفيها الترميز cp1256 فكانت بالطبع تظهر رموز قمت بإستخدام هاك ميلاد لتحويل المنتدي ل utf-8 وتم ولكن مازالت القاعدة بالداخل تظهر رموز وتميز الحقول لاتين أتمني توضح لي ماذا افعل لجعل الكلا يظهر عربي بالداخل في حين أن الترميز utf-8 ولكن الحقول latin
__________________ يستخدم هذه العضوية 4 أعضاء | |||||
|
| |||||
|
أخي العندليب .. ياعسانا ماننحرم منك قل آمين عندي مشكلتين.. الأولى اقتباس:
المشكلة الثانية : اقتباس:
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
الحمدلله يارب أخيراً إقتنعوا الأخوه ![]() على كل حال نأتي لمداخلاتكم مشرفنا الكريم bhappy أشكرك على التثبيت وهذا من طيب أصلك الأخ مجروح إذا تمت خطوات تحويل قاعدتك بنجاح فيجب عليك التأكد من تغيير ترميز الاتصال كما أشر في ردي الأخير وقلت Set Names cp1256 للعربي Set Names UTF8 لليونيكوود أتمنى يكون هذا قصدك الأخ مدمن نت عزيزي الجدول به مشكله ويجب إصلاحه هل تستطيع عمل repair او optimize للجدول قبل عملية التحويل ؟ إذا لم تستطع ذلك فحاول سحب الجدول بأمر Mysqldump على سبيل المثال mysqldump -udbuser -pdbpass database table > table.sql وبعدها قم بتركيبه مره أخرى وجرب عملية التحويل. موفقين أجمعين
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
|
العندليب تراي عدلت ردي في مشكلة ثانيهيعني آسف والله على إزعاجك __________________________________________ اقتباس:
تقصد هذا في ملف config.php للـ vbulletin : كود PHP:
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
لا أدري ما أصاب سوالف فقد أصبح محررها لا يعمل على كل حال الاخ مدمن ذكرت في مشكلتك الثانيه : اقتباس:
هل عدلت ترميز الاتصال charset قبل البدء ؟؟ أما مشكلة جدول Post فقد ذكرت لك حلها في ردي السابق فحاول أن تستخدم هذا الحل الثاني بالتعديل على نفس الرابط بحيث يكون c2.php?do=conv&table=84&fromrow=120600 أضف 100 على الرقم الأخير فربما كانت المشكله من أحد الصفوف. اقتباس:
موفق
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
| اقتباس:
وانا متأكد من ذلك 100% اقتباس:
وعند وصولها للصف 120500 يعطيني هذا الكلام اقتباس:
عندها .. وضعت العدد 120100 ثم 120200 ثم 120300 ثم 120400 ونجح تمام ووضعت 120410 حتى وصلت بالأخير انه لايمكن تخطي الصف 120430 ونفذت هذا الأمر لتحديد مكان الحقل كود: SELECT * FROM `post` LIMIT 120429, 120431 عندها لم أجد حلاً إلا أن اتخطى الجدول فقط .. اقتباس:
ومعليش تعبتك والله .. وعسى الله يجعل أعمالك في ميزان حسناتك يوم لاينفع مال ولابنون إلا من أتى الله بقلب سليم .. أخوك / محمد
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
بداية أقول لقد قمت برفع سكربت التحويل مره أخرى لإصلاح ترقيم الجداول وتحسين بعض الخطوات. نأتي للأخ مدمن نت أولاً هل قاعدة البيانات سليمه من البدايه ؟ أعني بكلامي هل هي تظهر حروف عربيه في الترميز القديم دون علامات الاستفهام ؟ ثانياً جرب ملف السكربت الذي قمت برفعه الان فربما ستحصل على إصلاح مشكلة هذا الجدول. لأنني أعتقد ولست متأكداً من أن أحد الصفوف في جدول post حجم البيانات التي به أكبر من حجم الـ MAX_PACKET_SIZE وتعني أقصى حجم لحزمة بيانات اتصال الـ TCP . ثالثاً إذا لم ينفع التحويل مره أخرى فقم بإستخدام أمر Mysqldump وارجاعه بأمر mysql فأعتقد ان المشكله ستزول. أما بخصوص نسختك فقم بالتعديل على ملف config.php كود: $config['Mysqli']['charset'] = 'cp1256'; تحياتي لك
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
| اقتباس:
كلا .. لاتظهر عربيه داخل القاعدة .. لأنها بالترميز اللاتيني latin1 لكنها تظهر بالمتصفح بشكل عادي جداً وعربي .. اقتباس:
![]() بالنسبة لمسألة حجم MAX_PACKET_SIZE .. طيب هل تنفع هذه الحركة في الـ htaccess : كود: php_value max_packet_size 10M اقتباس:
اقتباس:
أعرف تلك الطريقة .. لكن لا فائدة من ذلك في حالة ظهور استفهامات ببيانات القاعدة ![]() وأشكرك على سعة صدرك وتحملك لي .. لك اجمل تحياتي وتقديري ..
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
| |||||
|
على فكرة أستاذي .. تم إعادة تجربة السكربت القديم حقك للإصدار الأول .. وتم تحويل الترميز بنجاح بدون مشاكل ولا أي تعقيدات .. عدا مشكلة جدول post والـ thread اللي يوم قلته لك عنها سابقاً في هذا الرد : http://www.swalif.net/softs/showpost...53&postcount=5 ستجد بالمرفق صورة لجدول الإعلانات announcement بالقاعدة وليس من سكربت MySQL Interface وانظر كيف تظهر باللغه العربيه بكل حلاوه 100% ذلك معناه أن الخلل من السكربت الإصدار الثاني على ما أعتقد .. ![]() طيب سؤال يالعندليب ..هل قمت بتجربة السكربت على قاعدة بيانات منتدى ؟؟
__________________ ديكارت، أنا مفهي، إذاً أنا لست موجوداً! | |||||
|
![]() |
| أدوات الموضوع | |
| |
المواضيع المتشابهه | ||||
| الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
| سؤال عجزت |[ أبحث ]| عن إجابته .. كيف نقوم بتحويل ترميز قواعد البيانات إلى cp1256 | مدمن نت | تطوير الويب | 9 | 31-05-2007 09:52 PM |
| ما هي طريقة الاستعلام عن الملفات النصية Text بدلا عن قواعد البيانات | moslem_tk | PHP | 4 | 13-01-2007 07:53 PM |
| مشاكل في قواعد البيانات | مؤمن111 | قسم تبادل خبرات الاستضافة | 5 | 31-03-2006 10:51 AM |
| الإصدار الثاني من برنامج الفنكوش! مجاناً .. | آدم | تطوير الويب | 29 | 14-06-2003 02:37 PM |
| مشاكل بعد نقل قواعد البيانات لم يستطع اي منتدي مساعدتي في حلها !!!!! | THE STUDENT | إصلاح وصيانة المنتديات | 17 | 10-06-2003 05:58 PM |