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

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


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




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

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

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


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

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

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



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

(1)新建一个数据库


(2)打开数据库:

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



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


选择导入表格对应的    Record Delimiter  


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


下一步


下一步


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


next


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


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



另外记录几个指令。

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

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

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

猜你喜欢

转载自blog.csdn.net/qq_36060786/article/details/80004945