Mysqldump 匯出的中文資料是亂碼

我每天都用 shell command 在備份資料庫:

mysqldump --databases --user=root --password="your-password" db_name > file_name.sql 

還原用的指令:

mysql -h 127.0.0.1 -u root -p < file_name.sql

結果今天把資料庫用備份的指令restore 回去, 就GG了!

GG 的原因是: 備份時, 少加了參數:

--default-character-set=utf8

正確的是這樣子, 中文字預期是”系統管理員”:

翻車的是這樣子,’管理員’:

如果 database 有使用到到 binrary 格式欄位, 也會變成亂碼, 可以多增加參數:

--hex-blob

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *