Mailinglisten-Archive |
Lutz Zetzsche schrieb: >>> Was steht denn in der Datenbank? ISO-8859-1 oder UTF-8? Und welchen >>> Zeichensatz verwendest Du für die Datenbankverbindung? >> PhpMyAdmin zeigt unter "Struktur" an, dass alles in utf8_unicode_ci >> vorliegt. > > Dann sollten die Daten auch in UTF-8 vorliegen. Werden sie in phpMyAdmin > denn auch korrekt angezeigt? > >> Aber heisst das dann auch, dass die Daten entsprechend vorliegen, >> oder sind sie sozusagen >> noch, "nicht sichtbar", in ISO o.ä. hinterlegt? Wenn ja, wie komme >> ich an die Einstellung dafür? > > Wenn die Felder in UTF-8 formatiert sind, dann liegen die Daten in UTF-8 > vor. das kann schon unterschiedlich sein, in einer Tabelle können schon ISO Daten liegen obwohl die Tabelle als UTF-8 konfiguriert ist ... man kann den Zeichensatz einer Tabelle ändern auch ohne die darin vorhandenen Daten umzuwandeln ... aber wie schon geschrieben das ist im MySQL Handbuch erklärt http://dev.mysql.com/doc/refman/5.0/en/alter-table.html " If you want to change the table default character set and all character columns (CHAR, VARCHAR, TEXT) to a new character set, use a statement like this: ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name; Warning The preceding operation converts column values between the character sets. This is not what you want if you have a column in one character set (like latin1) but the stored values actually use some other, incompatible character set (like utf8). In this case, you have to do the following for each such column: ALTER TABLE t1 CHANGE c1 c1 BLOB; ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8; The reason this works is that there is no conversion when you convert to or from BLOB columns. " -- Sebastian
php::bar PHP Wiki - Listenarchive