2009-11-14 11 views
1

je convertir une table existante comme celle-ci:informations manquantes Collate lors de la conversion d'une table MySQL de Latin1 UTF8

CREATE TABLE `example`(`id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
         `column1` char(32) COLLATE latin1_general_ci NOT NULL 
          DEFAULT '', 
         `column2` char(64) COLLATE latin1_general_ci NOT NULL 
          DEFAULT '', 
         PRIMARY KEY (`id`)) 
       ENGINE=MyISAM AUTO_INCREMENT=1 
       DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; 

UTF8 en utilisant la commande suivante:

ALTER TABLE example CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 

Cela semble fonctionne bien, mais la table qui en résulte ne comprend aucune information de classement:

CREATE TABLE `example` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
         `column1` char(32) NOT NULL DEFAULT '', 
         `column2` char(64) NOT NULL DEFAULT '', 
         PRIMARY KEY (`id`) 
         ) ENGINE=MyISAM DEFAULT CHARSET=utf8 

Donc ma question Est-ce que l'information d'assemblage manquante serait un problème? J'ai cherché google, mais je n'ai trouvé aucune mention de cela nulle part. Ma compréhension du drapeau de collationner est assez basique (il importe d'une certaine façon lorsque l'on compare les personnages dans les fonctions de chaîne, je pense?)

grâce

Répondre

2

Le default collation pour le utf8 charset est utf8_general_ci, il est donc pas l'afficher.