有一天,我幫別人備份網站的資料庫,那個網站少說也有七載八載久了,我打開資料庫一看,乖乖隆個咚,都是亂碼,像下圖這樣。
似乎是 default charset 設成 latin 了,照理來說應該是 utf8
沒關係,就老實點先按匯出把資料輸出成 sql 吧。
接著進入 ssh ,輸入這個:
cat [匯出的sql檔.sql]
然後 ssh 裡面就神奇地轉出來成 utf-8 正體中文了,快把這些複製給你媽咪看。
好了,再來老實地丟到文字編輯器存起來吧。
這時如果你再開開心心地匯回資料庫裡面,你就會發現這世界一切都只是因果循環,因為資料庫中又會是亂碼,那要怎麼做呢?
想想看,為什麼要丟到文字編輯器呢?
你搜尋一下 DEFAULT CHARSET , 它還是 latin 啊,這樣不會是亂碼才有鬼。
接著在文字編輯器中把所有 latin1 取代成 utf8 ,存個 sql 檔,再用以下指令匯回資料庫看看。
mysql -u [使用者帳號] -p [資料庫名稱] < [sql 檔 .sql]
這時就會看到漂亮的正體中文了~~
功德圓滿!!
不過裡面不知為何還是有些資料表是亂碼,看起來還有研究的空間。