انتقل إلى المحتوى الرئيسي

Illegal mix of collations

❌ Error

Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='

📍 Context

هذا الخطأ يحدث عندما يحاول MySQL مقارنة سلسلتين تستخدمان ترتيبات مختلفة (على سبيل المثال، utf8mb4_general_ci مقابل utf8mb4_unicode_ci). وغالبًا ما يحدث في نصوص FiveM عندما تتضمن الاستعلامات بيانات اللاعب (مثل اللوحات، الأسماء، المعرفات) المخزنة بترتيبات غير متسقة.

✅ Solution

هناك طريقتان لإصلاح ذلك:

  1. توحيد ترتيب قاعدة البيانات بالكامل (موصى به)

     ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    هذا يضمن أن جميع الجداول والاستعلامات تستخدم نفس الترتيب.

  2. تعديل جداول أو أعمدة محددة

    • حذف أو تعديل الجداول المتأثرة.
    • تعديل مخطط SQL لاستخدام ترتيب متسق (utf8mb4_unicode_ci أو utf8mb4_general_ci).
    • إعادة إنشاء أو ترحيل البيانات.

ℹ️ Additional Information

  • دائمًا قم بعمل نسخة احتياطية من قاعدة البيانات الخاصة بك قبل تطبيق التغييرات الهيكلية.
  • استخدام utf8mb4_unicode_ci مفضل عمومًا، حيث يوفر دعمًا أفضل لـ Unicode.
  • يمكن أن يؤدي خلط الترتيبات عبر الجداول إلى أخطاء استعلام غير متوقعة.
  • لمزيد من التفاصيل حول ترتيبات MySQL، يرجى الرجوع إلى وثائق MySQL.