Kann ich nun trotzdem mittels
ALTER database
datenbankname
CHARACTER SET utf-8;die gesamte Datenbank umstellen, ohne die Daten zu gefährden?
Werden die Tabellen dann mit umgestellt?
Afaik geht das nicht, da du ja nur die (default) Zeichenkodierung der Datenbank änderst, nicht aber die der Tabellen und der Daten selbst - sämtliche Zeichen > 7 Bit (und ggf. daruffolgende) wären damit dann nicht mehr brauchbar.
Nach meinem Verständnis dürfte die Umstellung ja auch nur Auswirkung auf die Collation haben, da die Bytes vom Client ja 1:1 an die DB eitergegeben wurden und ob die nun als UTF-8 oder als irgendeine Dödel-Codierung interpretiert werden, müsste ja keinen Unterschied machen, oder?
Dafür sollte COLLATE zuständig sein
Aber weil ich mir nun überhaupt nicht sicher bin, frage ich lieber, was denn passieren wird.
CONVERT TO CHARACTER SET nicht vergessen, dann klappt's auch mit dem Nachbarn.
Also: "ALTER TABLE tablle CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Aber auch hierzu spuckt die MySQL-Doku eine Warnung aus, die ich aber leider nicht ganz verstehe bzw. nicht nachvollziehen kann:
http://dev.mysql.com/doc/refman/5.1/de/alter-table.html#id580951