Zeichensatz einer MySQL-Tabelle (nachträglich) ändern

Wenn sich ein Projekt über eine lange Laufzeit zieht oder ab und an mal ein weiterer Entwickler mitarbeitet, kann es sehr wahrscheinlich zu einem Mix von verschiedenen Tabellenzeichensätzen bei MySQL kommen: latin1, utf8_general, utf8_unicode, …

Ein dadurch auftretender Fehler ist z. B. folgender:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)

Mit folgendem SQL-Statement bekommt man das aber relativ flott konvertiert:

ALTER TABLE table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Zum Unterschied zwischen utf8_general und utf8_unicode gibts übrigens im MySQL-Forum einen guten Artikel. Für mich stellt sich somit als Ergebnis: utf8_unicode ist die erste Wahl für internationale Anwendungen, allerdings etwas langsamer als utf8_general.

Über Markus Zierhut

Life Is What You Make It!
Dieser Beitrag wurde unter SQL abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

8 Antworten zu Zeichensatz einer MySQL-Tabelle (nachträglich) ändern

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.