2009-10-21 10 views
0

J'ai une base de données MYSQL. Le texte est actuellement stocké dans le jeu de caractères latin1, classement latin1_swedish_ci. Ce sont les valeurs par défaut et ce n'était pas un problème à l'époque où la base de données a été créée à l'origine.Conversion d'une base de données d'un codage de caractères en un autre

Je souhaite basculer sur UTF8 afin que l'encodage de texte dans la base de données corresponde au codage de texte utilisé ailleurs sur le site Web qui utilise la base de données.

Ma question est, quels problèmes vais-je avoir lors de la conversion des données et que dois-je faire attention quand je le fais. La majorité de notre texte correspond à des acsii simples, mais il ya probablement des caractères accentués occasionnels là-bas ...

Je pense qu'il serait également judicieux de demander des conseils sur la meilleure façon de changer les données.

Répondre

2

Si vous passez de l'ASCII à l'UTF-8, je m'attend à quelques caractères accentués. Revenir en arrière est le problème, selon mon expérience.

+0

Alors, mysql s'occupera de tous les détails, convertissant tous les caractères accentués en encodage utf8 approprié, me laissant avec une table de caractères utf8 correctement encodés? –

+0

En théorie, oui. Je suis passé de l'ASCII à l'UTF sur une base de données MySQL 4.x héritée et cela ne semblait pas casser quoi que ce soit. –

0

Soyez attentif si vous déplacez des données vers une autre table. Si l'encodage de la table sera par ex. latin1 et vous mettez accidentellement là UTF8 brut il sera difficile de le recoder au bon encodage (si vous n'avez pas les données sources).