phpbar.de logo

Mailinglisten-Archive

mySQL und utf8 (mySQL 4.1.8)

mySQL und utf8 (mySQL 4.1.8)

Christian Ruetgers chr at 1komma6.com
Die Jan 4 18:01:09 CET 2005


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