Mysql导入中文数据表注意事项

来源:互联网 发布:mac暗影格斗2修改 编辑:程序博客网 时间:2024/05/29 17:11

手头有一张含800多条数据的门店销售数据表(含中文字符),想将其导入Mysql数据库进行数据分析。

然而,看似简单的问题,实际操作起来,却出现各种问题,最终花了我近3个小时才算解决,汗!

好记性不如烂笔头,赶快把血泪教训写下来,免得哪一天又重蹈覆辙。

 

1.检查Mysql安装文件夹根目录下的配置文件(my-default.ini)中是否添加了“default-character-set=utf8”这一项。UTF8兼容世界所有语言。

(2016-06-30补记:这一项似乎不是必需的,即,不添加这一项,配置文件中没有这一项,也可以将中文数据成功导入Mysql;但是,为了避免乱码,最好加上!)

2.  建表时,指定字符集为UTF8。 如,“create table sos_bk (tx_date date, start_time time, order_no varchar(20), terminal_no varchar (10), cashier varchar(30), order_amount decimal, order_time int, food_prepare_time int, total_time int)CHARACTER SET = utf8;”。经过测试,必须在建表时指定字符集。如建表时未指定,则建表后再使用 alter table更改字符集,依然会出现“Incorrect string value ...”错误。此时,必须删除整张表,重新使用指定字符集的语句建表。

 

3. 接下来,就可以导入.csv文件了,但此时依然不能大意,必须在数据导入语句指定字符集为UTF8。如,"Load Data InFile 'D:\\RawData5.csv' Into Table sos_bkcharacter set utf8fields terminated by ',' lines terminated by '\r\n';",否则,依然会出现如下图所示的乱码。

(2016-06-30补记:这一项似乎也不是必需的,即,未指定字符集,也可以将中文数据成功导入Mysql(.txt文件已另存为UTF-8格式)但是,为了避免乱码,最好加上!)

 

 

4.好了,数据入库了,可以享受用数据库来操作数据的乐趣了。Good luck!

 

 



0 0
原创粉丝点击