Illegal mix of collations
❌ Fehler
Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='
📍 Kontext
Dieser Fehler tritt auf, wenn MySQL versucht, zwei Strings zu vergleichen, die unterschiedliche Zeichencodierungen verwenden (zum Beispiel utf8mb4_general_ci
vs. utf8mb4_unicode_ci
). Dies geschieht häufig in FiveM-Skripten, wenn Abfragen Spieler Daten (z. B. Nummernschilder, Namen, Identifikatoren) betreffen, die mit inkonsistenten Zeichencodierungen gespeichert sind.
✅ Lösung
Es gibt zwei Möglichkeiten, dies zu beheben:
-
Die gesamte Datenbank-Zeichencodierung vereinheitlichen (empfohlen)
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Dies stellt sicher, dass alle Tabellen und Abfragen die gleiche Zeichencodierung verwenden.
-
Bestimmte Tabellen oder Spalten anpassen
- Betroffene Tabellen löschen oder ändern.
- Das SQL-Schema so anpassen, dass eine konsistente Zeichencodierung verwendet wird (
utf8mb4_unicode_ci
oderutf8mb4_general_ci
). - Die Daten neu erstellen oder migrieren.
ℹ️ Zusätzliche Informationen
- Sichere immer deine Datenbank, bevor du strukturelle Änderungen vornimmst.
- Die Verwendung von utf8mb4_unicode_ci wird im Allgemeinen bevorzugt, da sie eine bessere Unicode-Unterstützung bietet.
- Das Mischen von Zeichencodierungen über Tabellen hinweg kann zu unvorhersehbaren Abfragefehlern führen.
- Für weitere Details zu MySQL-Zeichencodierungen siehe die MySQL-Dokumentation.