模擬講Latin1字符集的數據庫修改為GBK
1)導出表結構
mysqldump -uroot -p --default-character-set=gbk -d databasename> createtable.sql
- –default-character-set=gbk //以gbk字符集連接
- -d //導出表結構,不導數據
2)手工修改createtable.sql中表結構定義的字符集為新的字符集
3)導出所有記錄
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-charset=latin1 datatbasename> data.sql
- –quick //轉存較大表 一次檢索一行,不是一次檢索所有行,輸出前緩存在內存中
- –extended-insert //使用包括幾個values列表的多個insert語法,轉儲文件小,速度快
- –default-charset=latin1 //按原有編碼導出,中文可見不會亂碼
4)打開data.sql, 將SET NAMES latin1 修改為 SET NAMES gbk
5)使用新的字符集創建新的數據庫
create datatbase databasename default charset gbk;
6)創建表,執行createtable.sql
mysql -uroot -p datatbasename< createtable.sql
7)導入數據,執行data.sql
mysql -uroot -p dataabasename< data.sql
- 目標字符集要比源字符字庫大,最好是源字符集的超集,比如GBK > GBK2312