快速轉換 MySQL latin1 編碼為 utf-8

回覆文章
yehlu
Site Admin
文章: 3245
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

快速轉換 MySQL latin1 編碼為 utf-8

文章 yehlu »

http://asika.windspeaker.co/post/3469-f ... 8-encoding

老舊版本的 Mysql4 資料庫或 Joomla! 1.0 時代,常常會見到 latin1 編碼的資料表,在phpMyAdmin上觀看是亂碼,匯出.sql檔後也是一團糟,但網站本身卻可正常讀取。

這是因為資料表雖然設定為latin1,但網站還是utf-8的資料。 因此MySql以latin1來儲存utf-8編碼的文字,讀取時也用latin1讀取,所以會正常還原為原本的資料。



當資料庫轉移要解決這問題時,我們就需要用到 mysqldump 來處理了。



指令只需要這樣下:

mysqldump -u {username} -p{password} {database} > {file_name}.sql --default-character-set=latin1
就能成功用latin1導出原本是utf-8的資料,此時用文件打開就能看到正常的文字了。(要注意,-p與密碼之間無空格,但-u與帳號名稱之間有空格)

範例:

mysqldump -u root -p12345678 database > database.sql --default-character-set=latin1
Windows 下的 mysqldump 在 mysql / bin 下面,用cmd即可操作

範例:

C:\AppServ\mysql\bin\mysqldump -u root -p12345678 database > database.sql --default-character-set=latin1
database.sql 會產生到你操作當下鎖在的目錄。
回覆文章

回到「MySQL」