26 Nov 2017

MySQL auf UTF-8 umstellen

Eine einzelne Tabelle auf UTF-8 umstellen, oder gleich den ganzen Server? kein Problem! Aber beachte: Dies kann Effekte haben! Vorher immer alles backuppen!

  • Collation einer Tabelle anzeigen:
SHOW TABLE STATUS FROM my_cool_table;
  • Konvertieren einer Tabelle:
ALTER TABLE Table CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
  • Umstellen einer Datenbank:
ALTER DATABASE your_base_name CHARACTER SET utf8 COLLATE utf8_unicode_ci;
  • den ganzen Server per default umstellen für NEUE Datenbanken. Die collation der alten bleibt.

Datei /etc/mysql/my.cnf

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

dann den mysql-daemon neu starten