يونس محمد المشكلة انحلت الحمد لله من ساعتها، ولكن هذا التعليق اثار فضولي عن الطريقة الصحيحة والكاملة لتعريف الثابت DB_CHARSET. تابعت كذا شرح عنه والصراحة عاوز اتأكد ان كل الأمور تمام عندي.
بما أن مشكلتك انحلت بتعريف الـ charset في ملف wp-config.php، فلا يوجد داعي لاستكمال الخطوات إلا إن ظهرت لديك مشاكل في عرض النصوص كظهور علامات استفهام غريبة او نصوص غير مفهومة. لكن إن كنت تريد معرفة كامل الخطوات وتريد تطبيقها فتأكد من أخذ نسخة احتياطية من قاعدة البيانات أولا قبل تنفيذ الخطوات التالية.
الفكرة: كان ووردبريس يستخدم utf8، ومع الإصدار 4.2 بدأ يعتمد على utf8mb4 بصفته charset أكثر تكاملا من utf8 السابق، ومميزاته أنه يدعم 4 بايت لكل حرف؛ وهذا يعني إمكانية تخزين الرموز التعبيرية والأحرف الخاصة بشكل صحيح؛ مما يجعلها تظهر بشكل صحيح في الواجهة بدلا من ظهورها كعلامات استفهام.
الهدف:
- نريد توحيد الـ charset الافتراضي لقاعدة البيانات والجداول إلى utf8mb4.
- نريد أيضًا توحيد الـ collation الافتراضي لقاعدة البيانات والجداول إلى utf8mb4_unicode_ci أو utf8mb4_unicode_520_ci حسب ما هو مستخدم في موقعك بالفعل وكلاهما رائع حاليًا.
الخطوات:
1 - معرفة الـ charset والـ collation الافتراضي الحالي لقاعدة البيانات

يمكنك استخدام أداة SQL Query Builder المدمجة في [سجل الدخول لترى الرابط]، إذا لم تتمكن من الوصول إلى قاعدة البيانات نفسها حيث التنفيذ من الـphpmyadmin أيسر وأسهل.
المهم نفذ الكود التالي بالخطوات المشروحة في الصورة السابقة وسيظهر لك كلا من الــ charset وكذلك الـ collation الافتراضي المستخدم حاليًا في قاعدة البيانات عندك.
تسجيل الدخول لعرض الكود
النتيجة: اسم قاعدة البيانات هو local، والـ charset الافتراضي لقاعدة البيانات هو utf8 والـ collation الافتراضي لقاعدة البيانات هو utf8_unicode_ci.
2 - معرفة charset وcollation الجداول نفسها
تسجيل الدخول لعرض الكود
استخدم الكود السابق لعرض النتيجة الإجمالية فقط.

النتيجة: كما تلاحظ في الصورة السابقة، يظهر لدي 3 اختلافات.
3 - تحديد الـ collation الافتراضي الصحيح
بناء على الخطوات السابقة ستتمكن من معرفة أن الـ collation الافتراضي الصحيح في حالة موقعي هو utf8mb4_unicode_520_ci مع الـ charset الصحيح وهو utf8mb4.
4 - تحويل قاعدة البيانات
تسجيل الدخول لعرض الكود
استخدم الكود السابق بنفس الطريقة السابقة مع ضرورة تغيير اسم قاعدة البيانات فيه من Local إلى اسم قاعدة البيانات الخاصة بك.

النتيجة: يمكنك اعادة استخدام أول كود للتأكد من أن كلا من الـ charset والـ collation لقاعدة البيانت قد تم تصحيحه.
5 - تحويل الجداول
تسجيل الدخول لعرض الكود
لاحظ: ضرورة تغيير utf8mb4_unicode_520_ci بالـ collation الذي اخترته انت في الخطوة رقم 3.
الكود السابق يعرض لك الجداول التي يجب تحويلها فقط، ويضع كل جدول في سطر منفرد. كما تلاحظ في الصورة التالية أن لدى 13 جدول يجب أن نحولهم للـ charset والـ collation الجديد.

والخطوات هي نسخ الأسطر الـ 13 الناتجة (دفعة واحدة أو سطر سطر) وتنفيذها بنفس الطريقة.
6 - جرب الموقع
بعد توحيد الـ charset والـ collation، امسح الكاش وجرب أكثر من صفحة في موقعك للتأكد أن كل شيء تمام وأنه لا تظهر أي مشاكل في عرض النصوص.