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