سؤال

لقد قمت بنقل قاعدة بيانات Big PhpBB3 من قاعدة بيانات Latin1 إلى Outf-8، كل شيء على ما يرام، الآن أحتاج إلى تغيير الأحرف "الغريبة" في قاعدة البيانات. أمس وجدت طريقة عملت، الآن لا أستطيع العثور عليها بعد الآن، حاولت:

update phpbb_topics set topic_title = replace(topic_title, 'Ã', 'à');
update phpbb_topics set topic_title = replace(topic_title, 'è', 'è');

في الأساس أحتاج إلى تغيير جميع الأحرف في حقل الجدول إلى à وما إلى ذلك.

كيف يمكنك أن تفعل هذا؟

شكرا

هل كانت مفيدة؟

المحلول

تحديث phpbb_topics تعيين topic_title = استبدال (استبدال (topic_title، '¨'، 'è')، 'Ã' à ')؛

يجب أن تجيب نفسك على الأسئلة التالية:

  • ما هي البيانات الثنائية المخزنة في قاعدة البيانات (استخدم دالة ASCII () أو تحديد ... في Dumpfile)
  • ما يتم إرسال البيانات الثنائية إلى العميل (ليس دائما نفس المخزنة)
  • كيف يوضح عميلك بيانات ثنائية؟ (جرب عملاء مختلفين وخيارات مختلفة)

نصائح أخرى

أود تفريغها إلى ملف .sql ثم استبدال الأحرف باستخدام SED أو محرر نصوص (إذا كان الملف ليس كبيرا). بعد ذلك قمت بتشغيل البرنامج النصي مرة أخرى. ربما هناك طريقة للقيام بذلك في قاعدة البيانات مباشرة لكنني لا أعرف ذلك.

المشكلة حول الحل الخاص بي هي أنه ليس عطري. يتم فقد التغييرات في DB بين تفريغ وإعادة التأمين.

تحية الرفائيل

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top