Normalement, votre serveur utilise le jeu de caractères par
défaut latin1
. Si vous avez stocké des
données qui sont dans un autre jeu de caractères que ceux
supportés par la version 4.1, vous pouvez convertir la colonne.
Cependant, vous devriez éviter de convertir directement les
colonnes de latin1
vers un "vrai" jeu de
caractère. Cela peut conduire à des pertes de données. Au
lieu de cela, convertissez la colonne en un type de colonne
binaire, avec le jeu de caractères voulu. La conversion avec un
format binaire conservera les données intactes. Par exemple,
supposez que vous avez une table version 4.0, avec trois
colonnes qui sont utilisées pour stocker des valeurs avec les
jeux de caractères latin1
,
latin2
et utf8
:
CREATE TABLE t ( latin1_col CHAR(50), latin2_col CHAR(100), utf8_col CHAR(150) );
Après mise à jour en MySQL version 4.1, vous pouvez convertir
cette table pour qu'elle laisse intacte la colonne
latin1_col
mais modifie les colonnes
latin2_col
et utf8_col
pour qu'elles utilisent les jeux de caractères
latin2
et utf8
. D'abord,
sauvez votre table, puis convertissez les colonnes comme ceci :
ALTER TABLE t MODIFY latin2_col BINARY(100); ALTER TABLE t MODIFY utf8_col BINARY(150); ALTER TABLE t MODIFY latin2_col CHAR(100) CHARACTER SET latin2; ALTER TABLE t MODIFY utf8_col CHAR(150) CHARACTER SET utf8;
La première commande ``supprime'' les informations de jeux de
caractères des colonnes latin2_col
et
utf8_col
. Les deux autres commandes assignent
le bon jeu de caractère aux deux colonnes.
Si vous voulez, vous pouvez combiner les deux conversions en une seule commande :
ALTER TABLE t MODIFY latin2_col BINARY(100), MODIFY utf8_col BINARY(150); ALTER TABLE t MODIFY latin2_col CHAR(100) CHARACTER SET latin2, MODIFY utf8_col CHAR(150) CHARACTER SET utf8;
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.