#mysqldump -u帳號 -p 資料庫 > output.sql --default-character-set=latin1 #piconv -f big5 -t utf8 output.sql >utf8.sql 如果原先是UTF-8的資料,像是wordpress,dump出來後要先轉成Big5後,再把他轉成UTF-8,因為原先dump出來的是偽裝成UTF-8的lantin1不是真正的UTF-8 #mysqldump -u帳號 -p 資料庫 >output.sql --default-character-set=latin1 #piconv -f utf8 -t big5 output.sql > big5.sql #piconv -f big5 -t utf8 big5.sql >utf8.sql接著MySQL5.0灌好後,MySQL的my.cnf設定檔內要加入以下設定 [client] default-character-set=utf8 [mysqld] default-character-set=utf8 default-collation=utf8_general_ci 但也有看到資料說[mysqld]那邊加上 default-character-set=utf8跟 default-collation=utf8_general_ci後,一些舊的使用Big5編碼的php程式,又沒有加入連資料庫時指定的編碼方式的相關code的話,那些程式就會爛掉,所以目前我是沒有加上那兩行。 接著建立空的資料庫準備把dump出來的資料import進去,SQL語法應該類似下面這樣,要加上 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
CREATE DATABASE `abc` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 我是用phpMyAdmin建立資料庫的,建立時”校對”要選utf8_general_ci 再來就是把剛剛dump出來後的sql檔在import進去了,這裡有兩點要注意的。 1.剛剛dump出來的sql檔如果原先是Big5里面會有一些像是許功蓋這些字後面會多了一個”\“,記得用文字編輯器把他消掉 2.import進去時記得還要先修改一下dump出來的sql檔,在最前面加上 SET NAMES utf8; SET CHARACTER_SET_CLIENT=utf8; SET CHARACTER_SET_RESULTS=utf8; 再來把每個資料表後面的 TYPE=MyISAM; 改成 ENGINE=MyISAM DEFAULT CHARSET=utf8;都改好後就可以把他import進去了引用:
使用 vi 時...可以使用取代的語法..將全部 latin1 的字眼全部改為 utf8 :1,$ s/latin1/utf8/g不過以上實在有點麻煩,所以我把多餘的”/“消掉後,就直接用phpMyAdmin把他import進去了,import時記得文字編碼檔案要選utf8即可 順便記一下寫php時如是配合UTF-8的資料庫的話該注意,在真正送出query前要先加入以下三行 mysql_query(”SET NAMES ‘utf8‘”); mysql_query(”SET CHARACTER_SET_CLIENT=utf8“); mysql_query(”SET CHARACTER_SET_RESULTS=utf8“); 檢查語系的SQL語法 show variables like “%character%”; 本文From: http://blog.leolo.cc/2006/02/06/134/ 參考 : http://a-wei.net/archives/4引用:
#mysql -u帳號 -p 資料庫 < utf8.sql --default-character-set=utf8
歡迎光臨 ADJ網路實驗室 (http://dz.adj.idv.tw/) | Powered by Discuz! 6.0.0 |