2014年6月14日 星期六

Mysql 資料庫都是亂碼的解決方式(之一)

記一下碰到的情況,否則今天不打出來,明天打不出來。

有一天,我幫別人備份網站的資料庫,那個網站少說也有七載八載久了,我打開資料庫一看,乖乖隆個咚,都是亂碼,像下圖這樣。


似乎是 default charset 設成 latin 了,照理來說應該是 utf8
沒關係,就老實點先按匯出把資料輸出成 sql 吧。
接著進入 ssh ,輸入這個: 

cat [匯出的sql檔.sql]

然後 ssh 裡面就神奇地轉出來成 utf-8 正體中文了,快把這些複製給你媽咪看。
好了,再來老實地丟到文字編輯器存起來吧。
這時如果你再開開心心地匯回資料庫裡面,你就會發現這世界一切都只是因果循環,因為資料庫中又會是亂碼,那要怎麼做呢?

想想看,為什麼要丟到文字編輯器呢?
你搜尋一下 DEFAULT CHARSET , 它還是 latin 啊,這樣不會是亂碼才有鬼。

接著在文字編輯器中把所有 latin1 取代成 utf8 ,存個 sql 檔,再用以下指令匯回資料庫看看。

mysql -u [使用者帳號] -p [資料庫名稱] < [sql 檔 .sql]

這時就會看到漂亮的正體中文了~~


功德圓滿!!
不過裡面不知為何還是有些資料表是亂碼,看起來還有研究的空間。

沒有留言:

張貼留言