1.首先把exel表格另存为.csv格式,不然直接导入exel的话会不能正确解析中文。注意有的exel版本在保存处可以选择编码格式一定要选择可以进行中文编码的格式比如“gbk”"utf-8".但必须要与自己电脑上装的MySql版本的编码格式一致否则导入依然是乱码。

解决exel数据导入navicate for MYSQL的中文乱码问题

如果有的版本无法查看保存的.csv格式是什么编码格式,比如我的电脑。建议下载一个notepade(4.5M)。在菜单栏选择编码->转为UTF-8编码保存文件即可。

解决exel数据导入navicate for MYSQL的中文乱码问题

解决exel数据导入navicate for MYSQL的中文乱码问题


2.第二步:检查自己安装的MySql是什么编码格式。启动cmd

>>mysql -h localhost -u root -p;//启动mysql

>>show variables like '%char%';  //查看数据库的编码格式

解决exel数据导入navicate for MYSQL的中文乱码问题

对于这几个过程的编码格式建议查看 http://www.jb51.net/article/31135.htm

这里主要关注 character_set_database:这里的编码格式需要与导入的.csv格式表的编码格式相同,不然会出现下列乱码:

解决exel数据导入navicate for MYSQL的中文乱码问题

格式可以是gbk或utf8。如果mysql的编码格式与.csv编码格式不一样需要修改。执行下列命令即可。

解决exel数据导入navicate for MYSQL的中文乱码问题


3.接下来就可以放心大胆的导入表格了。

(1)新建一个数据库

解决exel数据导入navicate for MYSQL的中文乱码问题

(2)打开数据库:

右键Table->Import Wizard,选择CSV file,点击下一步


解决exel数据导入navicate for MYSQL的中文乱码问题

选择要导入的表格,点击next

解决exel数据导入navicate for MYSQL的中文乱码问题

选择导入表格对应的    Record Delimiter  

解决exel数据导入navicate for MYSQL的中文乱码问题

这个点很坑,比较不容易看到,我还是无意间看到这个岔然后豁然开朗终于解决了乱码问题。怎么看呢,在notepade下列框中很明显CR  LF。上述Record Delimiter有三个选项CRLF  CR  LF。我猜后两个应该都可以。如果这里不设置的话依然是乱码。

解决exel数据导入navicate for MYSQL的中文乱码问题

下一步

解决exel数据导入navicate for MYSQL的中文乱码问题

下一步

解决exel数据导入navicate for MYSQL的中文乱码问题

这里可以选择主键,然后next

解决exel数据导入navicate for MYSQL的中文乱码问题

next

解决exel数据导入navicate for MYSQL的中文乱码问题

点击start开始导入。导入成功后,close即可。

解决exel数据导入navicate for MYSQL的中文乱码问题

然后回到主界面,点击刚导入的表查看,没有乱码!

解决exel数据导入navicate for MYSQL的中文乱码问题


另外记录几个指令。

show variables like '%char%';   //查看数据库编码格式

set character_set_database=utf8;  //改变数据库编码格式

mysql -u root -p --default-character-set=utf8   //改变MySql编码格式

相关文章: