2010-08-05 7 views
1

J'ai déplacé la base de données d'un hôte à un autre. J'ai utilisé PMA pour exporter et bigdump pour importer. La base de données entière a jeu de caractères latin2 partout où c'est possible. Cependant, dans la base de données, les caractères spéciaux (polish ąęłó, etc.) sont brisés. Quand j'ai utilisé SELECT je vois "buissons" - "Ä" "insetad de" ± ". Ensuite, j'ai mis l'encodage de document à utf-8 ... Et les caractères sont bons. Comment régler ceci? Peut-il être fait en utilisant CONVERT dans la requête? Je ne veux plus exporter/importer la base de données, car elle a plus de 200 Mo. Qu'est-ce qui ne va pas? Chaque solution de requête PHP/MySQL me sauvera. Désolé si vous ne pouvez pas comprendre ceci, parce que j'apprends toujours l'anglais bien.Conversion de charset de base de données

Répondre

1

Si une table contient le mauvais type de charset (disons utf-8 a glissé dans la colonne latin1 varhcar (255)):

ALTER TABLE tablename MODIFY colummname BINARY(255); 
ALTER TABLE tablename MODIFY colummname VARCHAR(255) CHARSET utf8; 
ALTER TABLE tablename MODIFY colummname VARCHAR(255) CHARSET latin1; 

Voir aussi: http://dev.mysql.com/doc/refman/4.1/en/charset-conversion.html

Cependant, est plus probablement vous avez juste un mauvais jeu de caractères dans votre connexion par défaut. Qu'est-ce qu'un SET NAMES latin1; avant de sélectionner le résultat?

+0

latin2 BTW Je l'ai déjà corrigé, en ajoutant le mode Mysql40 – Misiur

Questions connexes