Skip to main content

🗃️ MySQL Zeichensatz konvertieren

MySQL Zeichensatz konvertieren (utf8 → utf8mb4)

🔍 Warum konvertieren?

Die Umstellung auf utf8mb4 ist nur erforderlich, wenn:

  • du eine ältere MODX-Installation hast, deren Datenbank noch auf utf8 / utf8_general_ci läuft, oder
  • die Datenbank falsch angelegt wurde (z.B. Hosting-Default war nur utf8), oder
  • alte Dumps / Migrationen in veralteten Zeichensätzen vorliegen.

MySQLs altes utf8 unterstützt technisch nur 3 Byte pro Zeichen und kann viele moderne Unicode-Zeichen nicht speichern.

Der aktuelle Standard ist:

  • Zeichensatz: utf8mb4 (echtes vollständiges UTF-8, 4 Byte)
  • Kollation: utf8mb4_unicode_ci (korrekte Unicode-Sortierung)

MODX unterstützt utf8mb4 vollständig und empfiehlt es für neue und bestehende Installationen.

Typische Ausgangslage:

  • aktueller Zeichensatz: utf8
  • aktuelle Kollation: utf8_general_ci

Ziel:

  • Zeichensatz: utf8mb4
  • Kollation: utf8mb4_unicode_ci

🛠️ Schritt-für-Schritt Anleitung

1️⃣ Backup erstellen

Vor jeder Umstellung unbedingt ein vollständiges Datenbank-Backup anlegen.


2️⃣ Datenbank-Kollation in phpMyAdmin ändern

In phpMyAdmin:

  1. Datenbank auswählen
  2. Reiter Operationen
  3. Kollation: utf8mb4_unicode_ci setzen
  4. Änderungen speichern

Hinweis: Das ändert nur die Standardkollation, nicht die bestehenden Tabellen/Spalten.


3️⃣ Datenbank exportieren

  • Export im Format SQL
  • Zeichensatz: UTF-8
  • Datei lokal speichern

4️⃣ Exportdatei bearbeiten

Die SQL-Datei in einem Editor öffnen (UTF-8 ohne BOM).

Ersetze:
  • utf8_general_ciutf8mb4_unicode_ci
  • utf8utf8mb4

Achte darauf, nur Zeichensatz-/Kollationsangaben zu ersetzen, nicht Wörter im Inhalt.


5️⃣ Alte Datenbank löschen

Im phpMyAdmin die alte Datenbank entfernen oder leeren.


6️⃣ Neue Datei importieren

Die bearbeitete SQL-Datei wieder importieren.

Nach dem Import ist die komplette Datenbank auf:

  • Zeichensatz: utf8mb4
  • Kollation: utf8mb4_unicode_ci

ℹ️ Hinweise

Warum utf8mb4_unicode_ci?
  • präzisere Unicode-Sortierung
  • ideale Kompatibilität für Webanwendungen
  • empfohlen für MODX
Alternative Kollationen
  • utf8mb4_unicode_520_ci → neuere Unicode-Version
  • utf8mb4_0900_ai_ci → nur MySQL 8 (modernste Unicode-Regeln)

✅ Fazit

Die Umstellung von utf8_general_ci auf utf8mb4_unicode_ci ist sinnvoll und zukunftssicher.
Mit der Backup-Export-Edit-Import-Methode stellst du sicher, dass alle Tables und alle Spalten korrekt konvertiert werden.