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
هناك طريقتان لإصلاح ذلك:
-
توحيد ترتيب قاعدة البيانات بالكامل (موصى به)
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
هذا يضمن أن جميع الجداول والاستعلامات تستخدم نفس الترتيب.
-
تعديل جداول أو أعمدة محددة
- حذف أو تعديل الجداول المتأثرة.
- تعديل مخطط SQL لاستخدام ترتيب متسق (
utf8mb4_unicode_ci
أوutf8mb4_general_ci
). - إعادة إنشاء أو ترحيل البيانات.
ℹ️ Additional Information
- دائمًا قم بعمل نسخة احتياطية من قاعدة البيانات الخاصة بك قبل تطبيق التغييرات الهيكلية.
- استخدام utf8mb4_unicode_ci مفضل عمومًا، حيث يوفر دعمًا أفضل لـ Unicode.
- يمكن أن يؤدي خلط الترتيبات عبر الجداول إلى أخطاء استعلام غير متوقعة.
- لمزيد من التفاصيل حول ترتيبات MySQL، يرجى الرجوع إلى وثائق MySQL.