DB MYSQL -change, tables à UTF8
Question
In /etc/my.cnf the following has been added
character-set-server=utf8
collation-server=utf8_general_ci
Mais pour la base de données et tables créées avant d'ajouter ce qui précède comment convertir la base de données et des tables en UTF8 avec les paramètres collation
La solution
Eh bien, le jeu de caractères de base de données et jeu de caractère ne sont que les valeurs par défaut (ils ne touchent rien directement). Vous auriez besoin de modifier chaque colonne pour le jeu de caractères approprié. PHPMyAdmin fera pour vous (il suffit d'éditer la colonne, puis modifiez le jeu de caractères). Si vous voulez faire SQL brute, vous aurez besoin de connaître la définition de la colonne (SHOW CREATE TABLE foo
va vous montrer la définition). Ensuite, vous pouvez utiliser ALTER TABLE
pour modifier la définition .
Pour modifier le jeu de caractères par défaut pour une table:
ALTER TABLE `tablename` DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
Pour modifier le jeu de caractères d'une colonne avec la définition `foo VARCHAR (128) jeu de caractères 'foo' COLLATE « foo'``:
ALTER TABLE `tablename` MODIFY
`foo` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';