Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件

Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件

最近得到了一个数十M的MySQL脚本文件,准备还原为数据库。

以前就使用MySQL-Front短暂使用过MySQL,先用它试试,结果挂掉。

这样吧,先用MySQL-Front创建了空数据库,然后使用mysql命令行导入吧。

1)使用MySQL-Front创建了空数据库

因为看脚本中对象都有DEFAULT CHARSET=gbk COMMENT=… 指令,所以字符集选择gbk

Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件

2)启动MySQL命令行,输入密码

Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件

3)使用新建的数据库b

输入命令: use b;

4)更改文件读取字符集为utf8,这一步很关键

开始时,看到DEFAULT CHARSET=gbk COMMENT=… ,以为要设为gbk,就使用了以下指令:

set names gbk;

但是导入时,全是错误,无法识别中文。

后来认识到应该设置为SQL文件本身的字符集,那SQL文件本身的字符集是什么呢?

我的方法是用VS.net IDE 打开文件,然后另存为,选择“编码保存”

Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件

由此看到字符集是utf-8;

所以

输入命令: set names utf8; 注意不是 set names utf-8;

5) 导入文件

输入命令: source 文件路径;

很快,文件成功导入为数据库,效率很高。

到MySQL-Front中看一下,数据正常导入,大功告成!

Mysql命令行还原phpMyAdmin导出的含有中文的SQL文件