Hello,
jetzt habe ich mir leider auch mal ein kleines UTF-8-Problem gebaut:
MySQL-Datenbank (5.0.51a-24+lenny2-log) angelegt, aber leider nur mit Default Character Set Latin1. Das ist die Voreinstellung des Servers. Ich habe also vergessen, das Character Set gezielt mit utf-8 anzugeben.
Die darauf aufsetzende Anwendung verwendet durchgängig utf-8, gibt das aber beim Anlegen ihrer Tabellen noch nicht diskret an, sondern verlässt sich hier auf die Default-Einstellung des Servers. Wenn die auf utf-8 steht, bzw. die DB vorher mit utf-8 als Default angelegt wurde, klappt das auch.
Nur diesmal habe ich es eben vergessen, und es wurden schon fleißig Daten eingegeben.
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?
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?
Aber weil ich mir nun überhaupt nicht sicher bin, frage ich lieber, was denn passieren wird.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg