mysqldump et de restauration avec des caractères spéciaux. øæåØÆÅ

Localement, je le faire pour de vidage et de déplacer une base de données, la mise à niveau de silverstripe 2.3 2.4:

mysqldump --opt  --default-character-set=latin1 --skip-set-charset --user=$root -p$password $oldDatabase -r db.sql  

iconv -f LATIN1 -t UTF8 db.sql > db_utf.sql 


CREATE DATABASE $newDatabase CHARACTER SET utf8 COLLATE utf8_swedish_ci; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON $newDatabase . * TO '$newUser'@'localhost';  FLUSH PRIVILEGES;
SET NAMES utf8; SOURCE db_utf.sql;

Et il fonctionne, mais sur le serveur Ubuntu 8.04, avec mysql Ver 14.12 Distrib 5.0.51 un.
Je fou √∏ affréteurs au lieu de øæåØÆå.

Ce que quelqu'un sait où je suis allé mal?

J'ai essayé les différentes solutions d'ici sans succès. Ensuite, j'ai essayé la variante 2 dans ce blog: http://www.orthogonalthought.com/blog/index.php/2007/05/mysql-database-migration-and-special-characters/et il a résolu le problème. Appearently un bug dans la commande mysqldump est la cause du problème.
La SOLUTION peut être trouvée ici: stackoverflow.com/questions/152288/... Comme beaucoup d'entre nous, l'utilisation de .php des commandes pour faire une sauvegarde, vous pouvez peut-être pas correctement à l'exportation de la base de données avec des données UTF8. donc, le problème, c'est que vous devez utiliser mysql_query("SET NAMES 'utf8'"); après mysql_connect

OriginalL'auteur Mario Michelli | 2010-08-27