本地我這樣做是爲了轉儲和移動數據庫,升級silverstripe 2.3〜2.4:mysqldump並用特殊字符還原。 øæåØÆÅ
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;
而且它的工作原理,但服務器的Ubuntu 8.04,與MySQL版本14.12 DISTRIB 5.0.51a上。 我得到瘋狂的√Π租船人而不是øæåØÆå。
任何人都知道我出錯了嗎?
解決方案可以在這裏找到:http://stackoverflow.com/questions/152288/loading-utf-8-encoded-dump-into-mysql/與我們許多人一樣,使用**。php **命令來做備份, 您可能無法使用UTF8數據正確導出數據庫。所以,問題是,你需要使用'mysql_query(「SET NAMES'utf8'」);'在mysql_connect之後 – 2014-01-16 09:11:49