近期取得一個數十 MB 的 MySQL 腳本檔案,需還原為資料庫。嘗試使用 MySQL-Front 失敗後,改用命令列方式匯入,過程中發現字元集設定是關鍵。
觀察腳本中物件均含 DEFAULT CHARSET=gbk 宣告,因此建庫時字元集選擇 gbk。



USE b;
初見 DEFAULT CHARSET=gbk 以為需設為 gbk,執行 SET NAMES gbk; 卻導致中文全亂碼。後來意識到應設定為 SQL 檔案本身的編碼格式。
使用 VS.Net IDE 開啟檔案,另存為選擇「編碼儲存」查看實際編碼:


確認檔案為 UTF-8 編碼,故執行:
SET NAMES utf8;
注意: MySQL 中寫法為 utf8 而非 utf-8。
SOURCE 檔案路徑;
匯入迅速完成,效率極高。回 MySQL-Front 查看,資料正常,大功告成!
