123 votes

Comment changer le jeu de caractères par défaut d'une table MySQL ?

Il existe un MySQL table qui a cette définition tirée de SQLYog Enterprise :

 Table              Create Table                                             
-----------------  ---------------------------------------------------------
etape_prospection  CREATE TABLE `etape_prospection` (                       
                     `etape_prosp_id` int(10) NOT NULL AUTO_INCREMENT,      
                     `type_prosp_id` int(10) NOT NULL DEFAULT '0',          
                     `prosp_id` int(10) NOT NULL DEFAULT '0',               
                     `etape_prosp_date` datetime DEFAULT NULL,              
                     `etape_prosp_comment` text,                            
                     PRIMARY KEY (`etape_prosp_id`),                        
                     KEY `concerne_fk` (`prosp_id`),                        
                     KEY `de_type_fk` (`type_prosp_id`)                     
                   ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1  

Je veux changer le default charset de cette table de latin1 à utf8 . Comment faire ça ?

21voto

Devart Points 52715

Changer le jeu de caractères par défaut de la table :

 ALTER TABLE etape_prospection
  CHARACTER SET utf8,
  COLLATE utf8_general_ci;

Pour modifier le jeu de caractères de la colonne de chaîne, exécutez cette requête :

 ALTER TABLE etape_prospection
  CHANGE COLUMN etape_prosp_comment etape_prosp_comment TEXT CHARACTER SET utf8 COLLATE utf8_general_ci;

2voto

Joni Points 46728

Vous pouvez modifier la valeur par défaut avec un alter table set default charset mais cela ne changera pas le jeu de caractères des colonnes existantes. Pour changer cela, vous devez utiliser un alter table modify column .

Changer le jeu de caractères d'une colonne signifie seulement qu'elle pourra stocker une plus large gamme de caractères. Votre application parle à la base de données à l'aide du client mysql, vous devrez donc peut-être également modifier l'encodage du client.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X