Zum Hauptinhalt springen

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:

  1. 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.

  2. 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 oder utf8mb4_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.