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