Mailinglisten-Archive |
Hi Liste, Ich versuche ein Feld eine ganz einfache Tabelle von latin1 nach utf8 zu wandeln. Ich möchte nicht den Charset der ganzen Tabelle verändern. Wenn ich dem Hinweis aus http://dev.mysql.com/tech-resources/articles/4.1/unicode.html (Migrating from 4.0 to 4.1) folge gehen mir aber Daten verloren. Ganz einfach zum Anschauen: DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `name` varchar(80) collate latin1_german1_ci NOT NULL default '', KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; INSERT INTO `test` VALUES ('Arborg'); INSERT INTO `test` VALUES ('Ärgerdichdum'); INSERT INTO `test` VALUES ('Heinzelmann'); INSERT INTO `test` VALUES ('Müller'); INSERT INTO `test` VALUES ('Äbelst'); INSERT INTO `test` VALUES ('Rütgers'); INSERT INTO `test` VALUES ('Schmidt'); INSERT INTO `test` VALUES ('Zuselmann'); Nun wandle ich den Typ des zu konvertierenden Feldes erst nach BINARY: ALTER TABLE test MODIFY name BINARY(255); Ein anschließendes select * from test; zeigt noch alle Daten. Nun kommmt das ALTER TABLE test MODIFY name VARCHAR(255) CHARACTER SET utf8; Und jetzt sind die Umlaute und alle folgenden Zeichen weg. Was mache ich falsch?? danke! -- Christian Ruetgers -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive