| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
|
أولا بارك الله فيك ووفقك وين مالقيت وجهك ثانيا يااستاذي الكريم ظهر لي هالخطا اثناء التحويل Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/xxxx/public_html/vb/c2.php on line 21 جزاك الله الف خير | |||||
|
| |||||
|
السلام عليكم ورحمة الله وبركاته بداية أشكر كل من تابع معي في هذا الموضوع مشكلته التي واجهته أثناء إستخدام السكربت وأخص بالذكر الأخ مدمن نت والأخ BIOs . الحقيقه أنا الان أمام خطأ غريب لم أعرف تفسيراً له لغاية الان فجميع سرفرات الـ MySQL تقوم بالتحويل من أي ترميز الى ترميز UTF8 بكل سهوله بدون مشاكل بواسطة السكربت المرفق بالموضوع وبعض سرفرات الـ MySQL لا تقوم بالتحويل من الترميز اللاتيني latin1 إلى الترميز العربي cp1256 بشكل صحيح بواسطة السكربت الحقيقه إحترت مع هذه المشكله الغريبه فعلاً والتي يبدو لي أنها بسبب طريقة تركيب الـ MySQL Server وإعداداته أوعدكم بالبحث عن المشكله والرد مره أخرى بالموضوع. الأخ BIOs طريقتك التي إتبعتها في التحويل بدون السكربت ليست صحيحه 100% ولكنها تنفع مع الجداول التي لا تحتوي على حقول الـ BINARY . الأخ مدمن نت أعني بردي السابق أنه قبل إستخدام أمر MySQL قم بإنشاء قاعدة بيانات جديده وتعديل ترميزها الى الترميز latin1 بالقانون الافتراضي latin1_swedish_ci أخي الباهوت حياك الله وشكراً على إطراءك وهذا من طيب أصلك أخي Basim لم توضح تفاصيل أكثر حول مشكلتك ولا أعرف كيف أفيدك بالمشكله أرجو التوضيح
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
|
استاذي الكريم مااقصده هو انني قمت بالتالي رفعت الملف المرفق بالمشاركة الاولى لك ياسيدي في مجلد المنتدى من خلال الاف تي بي قمت باستدعائه عن طريق المتصفح ادخلت اسم القاعدة واسم المستخدم وكلمة المرور وقمت باختيار التحويل إلى uft-8 ثم قمت بالضغط على ستارت وظهر لي التحذير الذي نسخته لك بالاعلى مع ان السيكربت يقوم ومستمر في علمية التحويل ولكن يظهر هذا التحذير Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/*******/public_html/vb/c2.php on line 21 ارفقت لك صورة بالمرفقات للتوضيح وان احتجت اسم المستخدم والباسوورد تامر امر ملاحظة قاعدة البيانات صغيرة لاني قمت بتركيب منتدى جديد بمعنى منتدى طازج لم يضاف له اي شيء مع الشكر الجزيل | |||||
|
| |||||
| اقتباس:
كيف يقوم السكربت بالاستمرار في عملية والتحويل ويأتي عند نقطه معينه عند جدول من الجداول ويتوقف !! أعتقد أن العله في الجدول فهناك جداول تحدث بها أخطاء كثيره أثناء عملية الإستعلام السطر الذي ظهر به الخطأ هو السطر التالي: كود PHP: كود PHP: بانتظارك
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
|
قمت بعمل هذا التعديل ولكن استمر نفس التحذير اثناء عملية التحويل وبافتراض انه تم التحويل وبنجاح فقمت برفع ملفة لغة وغيرت الترميز الى utf-8 ولكن للاسف نفس المشكلة تظهر العبارات علامات استفهام ورموز وابي اسالك عن شيء طال عمرك ذكر في احد المشاركات بخصوص التحويل اليدوي وانت قلت في مشكلة اذا كانت الحقول تحتوي على باينري الحقوقل التي تحتوي على باينري على حد علمي هي الملفات الخاصة بالاضافات لبرنامج المنتدى مثل المرفقات الصور الرمزية صور الرتب ...الخ فلو قمنا قبل اخذ نسخة احتياطية بنقل هالاشياء للفايل سيستم مانكون حلينا بكذا مشكلة الباينري ببعض الحقول؟ ويعطيك الف عافية التعديل الأخير تم بواسطة : Basim بتاريخ 09-06-2007 الساعة 07:22 PM. | |||||
|
| |||||
| اقتباس:
أخي الكريم العندليب سألت سؤال في الرد رقم 33 وكان ردك المرفق هذا مباشرة وكأنك تعنيني بالرد ... وصراحة حاولت تطبيق شرحك في الرد رقم 26 ولكن مع الأسف لم افهم كيف اسحب نسخة من القاعدة وعن طريق أي برنامج بهذه الطريقة التي ذكرتها mysqldump --defalut-character-set=latin1 --compatible=mysql40 --user=USER --password=PASSWORD DATABASE > db.sql ممكن توضح هذه النقطة وطريقة رفعها ولك مني خالص الدعاء.
__________________ سبحان الله والحمد لله والله واكبر | |||||
|
| |||||
|
السلام عليكم بعد محاولات عديدة بملف اللغة استطعت ان اجعل ترميز اليونيكود يعمل مع اللغة العربية هل هذا يعني ان قاعدة البيانات قد تم تحويلها فعلا؟ هذا هو الرابط vb.3walim.com كما ترى هو منتدى تجريبي للان للقيام بعملية التحويل هل يمكنني القول بانني قد نجحت فعلا بالتحويل بما ان اللغة العربية تعمل مع اليونيكود؟ اخي العندليب هل يمكن ان اعطيك رابط للقاعدة فهي صغير كما ترى وتتاكد؟ انا محتاج لشخص يتاكد حقيقة حتى ابدا بذلك لمنتدياتي الكبيرة وبكون ممتن جدا لهالخدمة يالغالي لو عندك وقت والسلام عليكم | |||||
|
| ||||||
| اقتباس:
اقتباس:
ولكن كيف ستنقل الصور الرمزيه فهل لها هاك يقوم بهذا العمل أو لها خاصيه جديده بلوحة التحكم؟ اقتباس:
كنت أعتقد أن أغلبكم يعرف أين يعمل الأمر السابق ويبدو أنني مخطئاً ![]() عزيزي تنفيذ الأمر السابق بطريقتين الأولى عن طريق SSH فإذا كان لحساب موقعك SSH فبإمكانك الإتصال بالموقع وعمل الأمر وهذه تتم ببرنامج للإتصال بالموقع مثل الـ PrivateShell أو الـ Putty أما الثانيه وهي عن طريقة لوحة تحكم الموقع فإذا كانت لوحة تحكم الموقع تدعم خاصية الـ Cronjob مثل لوحات Cpanel فبإمكانك وضع الأمر السابق في سطر وعمل الوقت اللازم لتنفيذه راجع الرابط التالي فستجد نقاشنا حول الـ Cronjob وطريقة الباك أب التلقائي http://www.swalif.net/softs/swalif17/softs109583/ اقتباس:
هل تقصد ملف اللغه الخاص بالمنتدى ؟ فإذا كنت قد عدلت على ملف اللغه فأنت عدلت على صفحات المنتدى ولم تلمس قاعدة البيانات ![]() فكيف حكمت بأنك نجحت في تحويل ترميز قاعدة البيانات ؟ اقتباس:
اقتباس:
موفقين
__________________ al3ndaleeb[@]uk2.net التعديل الأخير تم بواسطة : العندليب بتاريخ 10-06-2007 الساعة 11:25 AM. سبب آخر: إضافة رد | ||||||
|
| |||||
| اقتباس:
لذلك حكمت عليها بالنجاح التعديل على ملف اللغة اقصد اني بدلت ترميز الويندوز العربي الى اليونيكود اقتباس:
المرفقات لوحة التحكم > المرفقات > مكان تخزين الملفات المرفقة الصور الرمزية, الصور الشخصية, صور التواقيع لوحة التحكم >الصور الرمزية > مكان تخزين الصور وفي الحالتين نختار نقلها ملفات النظام بالنسبة للمعلومات ورابط تحميل القاعدة تم ارسالها على بريدك مع الشكر الجزيل | |||||
|
| |||||
|
السلام عليكم ورحمة الله وبركاته بعد النقاش الذي دار بيني وبين الأخ مدمن نت والأخ Basim حول ظهور علامات (؟؟؟؟؟) عند التحويل لقواعد بياناتهم ذات الترميز latin1 إتضح أن المشكله من إصدارات الـ MySQL 4.1 وبعض الإعدادات الغير افتراضيه فعند التحويل من أي ترميز أحادي الى ترميز اليونيكوود بواسطة السكربت فإن التحويل يتم بدون مشاكل لإعتماد سرفرات الـ MySQL على ترميز اليونيكوود في عملها مع القاعده الأم mysql والتي تحتفظ ببيانات مستخدمي قواعد البيانات. أما عند التحويل من أي ترميز أحادي الى ترميز أحادي اخر بواسطة السكربت فإن التحويل يتم على بعض السرفرات وبعضها لا يتم التحويل. ومن هنا بدأت البحث عن المشكله وعن السبب الذي جعل التحويل لا يتم فكان الخلل من بعض إعدادات الـ MySQL . ولكي تتضح الصوره أكثر فسوف أوضح الطريقه التي من خلالها أنشأت هذا السكربت. فكرة السكربت تعتمد على الطبقات الخارجيه لتحويل الترميز من وإلى. فالطبقات الخارجيه كما هو معروف هي كالتالي: طبقة العميل ( Client ) طبقة الإتصال ( Connect ) طبقة النتائج ( Result ) هذه الطبقات تعطى ترميزاً ثابت عند تنفيذ الأمر التالي كود: SET NAMES cp1256; SET character_set_client = 'latin1'"; SET character_set_connection = 'cp1256'"; SET character_set_results = 'cp1256'"; فسوف يتم التحويل من ترميز latin1 الى ترميز cp1256 ونفس الكلام ينطبق على التراميز الأخرى ولهذا جاءت فكرة هذا السكربت وقمت بعملها وتقديمها برمجياً. الان قمت بعملية تعديل برمجي على السكربت و عمل إصدار جديد 2.1 بحيث يتم إعتماد الطريقه السابقه في التحويل إلى ترميز اليونيكوود فقط أما عند التحويل من ترميز أحادي مثل الترميز اللاتيني إلى أي ترميز أحدي آخر مثل الترميز العربي فإن السكربت سيستخدم طريقة أخرى جديده قمت بإبتكارها للتحويل بين التراميز الأحاديه ولكي لا ندخل في مشاكل مع إعدادات الـ MySQL كما حدث في الإصدار 2.0 السكربت بالمرفق مع هذا الرد وستسركم النتائج هذه المره. ملاحظه: تمت إزالة المرفق للإصدار 2.0 من الموضوع الأساسي. بانتظاركم
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
|
السلام عليكم ورحمة الله وبركاته شكرا لك على السكربت الرائع .. قمت بعملية التحويل على السيرفر المحلي وكانت النتائج جميله جدا .. لكن نقص عدد الجداول من 129 لي 97 الجداول الفارغه ما زالت بالترميز السابق latin1_swedish_ci .. تحيه كبيره لك ..
__________________ ما يجنى من ثمار الجنات ويلتقط, قال عز وجل {وجنى الجنتين دان} و إذا أردنا أن نجمع الاسم جنى فسيصبح جَــوَ ا نـِــي Abdullah ALHoshan ALTamimi | |||||
|
| |||||
| اقتباس:
نفس المشكلة عند التحويل من latin1_swedish_ci الى cp1256 وايضا القراءة في قاعدة البيانات عربية ولكن في المنتدى علامات استفهام ! أطيب تحية | |||||
|
| |||||
|
السلام عليكم ورحمة الله وبركاته مشكور أخوي العندليب على الموضوع المميز جربت السكربت لكن كان يرفع لود السيرفر وكان بدون نتيجة تابعت ردودكم وجربت الخطوات التالي : 1- إنشاء قاعدة جديد بالترميز ( cp1256_general_ci ) 2- أخذت بك أب للقاعدة القديمة بأمر ( latin1 ) كود: mysqldump --default-character-set=latin1 --compatible=mysql40 --user=USER --password=PASSWORD ALAM_VB > vb.sql كود: mysql --default-character-set=cp1256 --user=USER --password=PASSWORD ALAM_VB < vb.sql $config['Mysqli']['charset'] = 'cp1256'; دخلت على قاعدة البيانات من خلال : phpmyadmin بعد إضافة موضوع جديد لاحظ الصورة الكلام عربي بدون مشاكل كذلك جربت أضيف تقيم لأحد الأعضاء والكلام كان عربي وبدون مشاكل هل تعتبر عملية تحويل الترميز ناجحة ؟ هل هناك أي خطوة للتأكد من أنه لايوجد مشاكل في القاعدة الجديدة قبل الإستغناء عن القاعدة القديمة أخي العندليب ؟
__________________ اللهم اغفر لي ذنبي وأذهب غيظ قلبي وأجرني من الشيطان اللهم خِر لي واخترلي ولا تكلني الى نفسي ُطرفة عين | |||||
|
| |||||
| اقتباس:
حي الله الأخ الجواني بداية أشكرك على ملاحظتك عن الجداول الفارغه وسأفحص ماذكرته بخصوص عدم تحويل تراميز الجداول الفارغه. الأخ ابوابراهيم ذكرنا مرارا ولازلنا نذكر السكربت الذي يستخدم القاعده العربيه يجب تعديل ترميز الاتصال فيه SET NAMES cp1256 إذا ظهرت الحروف بالعربيه في قاعدة البيانات عن طريق الـ phpmyadmin فيبقى عليك تعديل ترميز الاتصال فتنبه الله يحفظك. الأخ ألم الإمارات اقتباس:
فأي إصدار إستخدمت هل إستخدمت القديم الذي كانت به المشكله التي تحدثنا بها ؟ وأريد أن أعرف كيف عرفت أن السكربت يرفع اللود. نريد برهان الله يحفظك اقتباس:
فقد ذكرنا بأن الطريقه التي ذكرها أخونا Basim لا تنفع مع الحقول الـ Binary . أنصحك بإستخدام السكربت الأخير وإبداء ملاحظاتك حوله وسأواتيكم برد بعد فحص المشكله التي ذكرها الأخ الجواني.
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
| اقتباس:
اللي حصل كا التالي : 1- رفعت الملف وكان المنتدى مغلق وأشتغلت الفجر عسب ما يكون في زوار متواجدين 2- التحويل يتم بشكل ممتاز للجداول إلى أن يصل إلى جدول البوست ( جدول المشاركات ) بعد 1500000 مليون وخمس ميه يصبح التحويل بطي ويبتدي يرتفع اللود ويصل إلى 400 ، وفي ها الحال يطلع لي خلل في الصفحة ومن متابعة السطر في الملف يبين أنه فقد الإتصال بالقاعدة ، وبالفعل أدخل الموقع أجد كل القواعد فاصله ، كنت أوقف الاباتشي إلى أن ينزل اللود وأرجع أشغله وأكمل الخطوات بـ عمل باك للمتصفح ويرجع يكمل في نفس الصفحة 3- بعد ما خلصت من كل القاعدة كامله كنت مكمل يومين تقريبا مسكر المنتدى دخلت القاعدة وكل شي مثل ما هو ما تغير شي جربت السكربت المرفق في الرد التالي ولكن للاسف مافي أي تغير اقتباس:
الله المستعان تدري أنا فتحت المنتدى والاعضاء يشاركون الان وها الكلام على القاعدة الجديدة هل راح يكون في ظرر أو يوجد طريقة لتدارك الأمر ؟ أنتظر ردك يا الغالي
__________________ اللهم اغفر لي ذنبي وأذهب غيظ قلبي وأجرني من الشيطان اللهم خِر لي واخترلي ولا تكلني الى نفسي ُطرفة عين | |||||
|
| |||||
|
الله يحيك ويبقيك .. الحقول الـ Binary ما يمكن نستخدم لها ترميز cp1256_bin ؟؟ اقتباس:
| |||||
|
| |||||
|
السلام عليكم ورحمة الله وبركاته وحي الله الأخوان ألم الإمارات و جواني نبدأ على بركة الله بالأخ الجواني اقتباس:
فإذا حاولت إرجاعها الى قاعده جديده ذات ترميز جديد مختلف عن ترميز السحب فسوف يقوم أمر Mysql بتحويل (بعض) الحروف الى علامات استفهام وتفقد بعض البايتات داخل هذه الحقول. طبعا مشكله غريبه بأمر mysql وأرسلت مذكره لمبرمجي الـ mysql بهذا الخلل الغريب والى الان لم استلم الجواب. أما بخصوص رموز الـ htmlentity المخزنه بداخل القاعده فتحتاج لبرمجة سكربت لتحويلها الى الصيغه الحرفيه الصحيحه. الأخ ألم الإمارات ذكرت في كلامك الخطوات التاليه اقتباس:
والسبب أن السكربت يأخذ 500 صف ويعمل عليها وبعد الانتهاء منها يأخذ 500 صف أخرى وهكذا حتى ينتهي من تحويل الجدول كاملاً. اللي حصل في حالتك أن الجدول به خلل ما ربما كان هذا الخلل من أحد خصائص الجدول مثل الـ index keys المكرره فراجع خصائص الجدول فربما كان اللود بمنتداك بسبب هذا الجدول. والخلل الذي لديك كان يشبه الخلل الموجود عند الأخ مدمن نت أنا عندي لك حل مع هذا الخلل أستخدمته مع الأخ مدمن نت وهو بالتعديل في ملف السكربت بحيث يتم إنقاص عدد الصفوف من 500 الى 200 . إبحث عن: كود PHP: كود PHP: كود PHP: كود PHP: وسوف يقوم السكربت بالعمل على 200 صف بدلاً من 500 صف. أو إستخدم أمر mysqldump لسحب هذا الجدول حسب الطريقه التي ذكرناها مع الأخ مدمن نت لأن جدول المشاركات post لا يحتوي على حقول Binary . اقتباس:
كيف لم يتغير شي ؟؟! هل يعقل هذا ؟!؟ أريد أن أعرف ماهو ترميز قاعدة بياناتك وإلى أي ترميز كنت تريد التحويل ؟!؟ وماهو إصدار الـ MySQL Server لديك؟ اقتباس:
لماذا فعلت هذا وأنت لم تنتهي من القاعده ![]() هل أفهم من كلامك أن اتصالك بالقاعده يعمل على الترميز العربي الان وأنت لم تنتهي ؟؟ أنتظرك وأرجو أن تهدأ وتذكر ملاحظاتك بهدوء فأنا مستغرب من تجربتك بصراحه.
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
| اقتباس:
وبقي كل شي كما هو كلام مشفر الترميز السابق كان ( latin1_swedish_ci ) الاصدار : MySQL version 4.1.21-standard-log اقتباس:
1- قمت بإنشاء قاعدة جديدة بالترميز ( cp1256_general_ci ) 2- سحبت بك أب بالترميز ( latin1 ) 3- ركبت البك أب بالترميز ( cp1256 ) 4- تأكدت من التالي ( إضافة مشاركة وتعديل مشاركة + إضافة تقيم وتعديل تفيم ) وفي كل الحالات كان الكلام بالعربي في المنتدى وفي قاعدة البيانات ها الامر اللي خلاني افتح المنتدى من امس ولا زال مفتوح الان سألي لك يا الغالي : 1- شو الظرر اللي ممكن يترتب من خلال اللي سويته ؟ 2- هل يوجد طريقة لمعالجة الامر دون الرجوع للبك أب القديم ؟ أتمنى يكون في طريقه لأنه بصراحه تعب ومشاركات الاعضاء هي اللي حازه في خاطري انتظر ردك
__________________ اللهم اغفر لي ذنبي وأذهب غيظ قلبي وأجرني من الشيطان اللهم خِر لي واخترلي ولا تكلني الى نفسي ُطرفة عين | |||||
|
| |||||
| اقتباس:
![]() اللي تغير هو الترميز للجداول ونجح التحويل الى الترميز العربي . اللي جعلك تراها كلام مشفر هو ترميز اتصالك الخاطيء ياطيب ![]() اقتباس:
الجداول التي تحتوي على حقول Binary ستفقد بعض البايتات. في منتديات الفيبولتن هناك جداول مثل المرفقات والصور الرمزيه تحتوي على بعض حقول ذات نوع Binary ولهذا سيكون في بعض بايتاتها عطب. اقتباس:
لم تخبرني عن الجدول ذو 1500000 صف ماحدث به ؟!؟
__________________ al3ndaleeb[@]uk2.net | |||||
|
| |||||
| اقتباس:
|