用phpmyadmin导入mysqldump备份的utf8编码格式的数据库文件

情景:
phpmyadmin版本为4.0.2 ,MYSQL版本为5.0.6
要导入的目标数据库为cc ,    数据库编码为gbk 。
原来的备份文件 mysqldump -u root -p cc --default-character-set=utf8 > c:\ccutf8.sql  ,其中ccutf8.sql为要导入的数据库脚本文件。

(1) : 用utf8编码格式导入:
mysql -u root -p cc --default-character-set=utf8 < c:\ccutf8.sql
通过mysql命令导入是可以导入成功的,
表的个数没有丢失,网站显示正常。

当我用phpmyadmin来导入mysqldump备份的文件ccutf8.sql的时候,在导入的时候我们选择utf8的时候是可以正常导入的,网站显示正常。

(2) : 用gbk编码格式导入:
mysql -u root -p cc --default-character-set=gbk < c:\ccutf8.sql
通过mysql命令导入是可以导入成功的,表的个数没有丢失,网站显示正常。
当然了,也可以用source 命令导入:
use cc;
set names gbk;
source c:\ccutf8.sql
正常没有发现异常 。

当我用phpmyadmin来导入mysqldump备份的文件ccutf8.sql的时候,在导入的时候我们选择utf8的时候报错:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 是SQL语法有错误,需要检查mysql版本。

此外,我也测试过,此ccuft8.sql文件用latin1还原的时候也能正常还原数据库。

得出结论 :mysqldump备份出来的utf8用phpmyadmin以gbk方式还原是不可行的,若想用gbk编码还原,需要用mysql命令行方式才行。

正确的操作方式: mysqldump 生成的utf8编码,最佳用mysql --default-character-set=utf8方式还原,也可以用phpmyadmin还原,还原的时候编码选择utf8才不会出错。

 

相关新闻

联系我们

全国服务热线

400-033-9553

电子邮件:admin@example.com
工作时间:09:00-17:00 周一至周五

在线客服
关注微信
关注微信
分享本页
返回顶部