سؤال

أقوم بنقل مدونتي WordPress ومنتدى phpBB إلى خادم استضافة جديد.أنا أستخدم phpMyAdmin لاستيراد برنامج SQL النصي من قاعدة البيانات في الموقع السابق.

عندما أفتح البرنامج النصي .sql مع Kate، تظهر لي أنه يستخدم UTF8 للتشفير.عندما أقوم باستيراد SQL في الخادم الجديد، لدي خيار في phpMyAdmin لاختيار الترميز، حيث يتم تحديد utf8 افتراضيًا.

ومع ذلك، عندما أنتهي من استيراد قاعدة البيانات، أقرأ نص المنشورات مباشرة في phpMyAdmin، وأرى أحرفًا مثل "é" و"ñ" وما إلى ذلك.التي لم يتم "تفسيرها" وتم استبدالها بأحرف غريبة.

أستطيع أن أرى أن تثبيت WordPress الخاص بي لا يعمل أيضًا.من الواضح أن هناك مشكلة في هذا التشفير، ولكن أعتقد أن المشكلة تكمن في قاعدة بيانات MySQL أو phpMyAdmin وليس في WordPress.

إصدارات MySQL هي نفسها تقريبًا، MySQL 5، لكن بإصدار مختلف.كما أنه لم تكن هناك مشكلة عند ترحيل قاعدة بيانات المنتدى، فهذا أمر غريب أكثر...

أنا ضائع بشأن كيفية إصلاح هذا ...أي أفكار هي موضع ترحيب.

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

المحلول

هل حاولت إضافة

SET NAMES 'utf8';

إلى تفريغ SQL الخاص بك؟

الشيء الذي يتعلق بـ utf8 أو الترميزات بشكل عام هو أنه لكي تكون ناجحًا، عليك التأكد مما يلي:

  • الملف مشفر بـ utf8 بدون توقيع
  • تم تعيين الترميز الافتراضي لخادم MySQL على utf8
  • الاتصال هو utf8 (ولهذا السبب قمت بوضع SET NAMES 'utf8' في ملف sql الخاص بك).
  • تحتوي جميع الجداول والأعمدة على الترميز ومجموعة الأحرف الصحيحة
  • يجب أن تكون جميع ملفات الويب الخاصة بك بتشفير utf8 أيضًا.ولا يعمل مجرد إضافة الرأس الصحيح.يجب عليك فتح الملف، والتحقق مما إذا كان الترميز هو utf8، وإذا لم يكن كذلك، فاقطع كل شيء، وقم بتغيير الترميز إلى utf8 وألصق كل شيء مرة أخرى.لن ينجح الأمر، إذا قمت فقط بتغيير الترميز وحفظ الملف!

نصائح أخرى

وشكرا جزيلا لإجاباتك. لقد وجدت الحل، وأنا أشعر غبية حقا لم يدركوا ذلك من قبل. كل شيء كان من المفترض أن تعمل بشكل جيد:

وكان المشفرة، ملف مع UTF8 وأعلن -Tables مع UTF8:

SET character_set_client = utf8;
تم تكوين الخادم -MySQL مع UTF8 الخ

ما لم أكن أدرك في المقام الأول وكنت تستخدم نسخة احتياطية قاعدة البيانات من المعالج احتياطية وحة التحكم ل. وسرعان ما أدركت هذا، كنت بريس على الخادم القديم لتصدير قاعدة البيانات المستوردة في الخادم الجديد، والمعزوفة، مشكلة ثابتة.

وبريس يفهم بريس أفضل من وحة التحكم: P يبدو وحة التحكم تصدر سيناريو هو أن يكون المستوردة مع وحة التحكم نفسها. وهذا من شأنه أن يكون على الأرجح يعمل بشكل جيد، ولكن أنا على ثقة بريس أفضل.

وشكرا جزيلا على إجاباتك على الرغم من.

لقد واجهت نفس المشكلة للتو، حيث تصارعت معها لمدة ساعة تقريبًا وتعطلت العديد من مواقعي، ففكرت في أنني سأبحث وأرى ما إذا كان أي شخص آخر يعاني منها وأنشر حلاً:الحل بكل بساطة هو تحديد مجموعة أحرف الاستيراد عند الاستيراد.

إذا كان لديك وصول SSH إلى مضيفك، فقم أولاً بإسقاط كافة الجداول مرة أخرى في قاعدة البيانات الجديدة مرة أخرى، ثم قم بتشغيل هذا الأمر في جلسة SSH (بافتراض أن ملف التفريغ القديم الخاص بك olddatabase.dump.sql):

$ ماي سكل -ح يستضيفاسم المستخدمكلمة المرور --default-character-set=utf8 قاعدة البيانات <OLDDATABASE.DUMP.SQL (استبدل المضيف ، اسم المستخدم ، كلمة المرور ، وقاعدة البيانات بالقيم المناسبة)

هذه هي الطريقة الأبسط والأكثر مباشرة لحل المشكلة.

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