利用php的fgetcsv()函数,将csv文件读取然后插入数据库,不行;利用phpmyadmin的导入功能,直接导入csv文件也不行,有两个主要错误:

1.第一行第二行除了英文外,完全是空的
2.中文乱码

怀疑是数据库编码问题,于是删掉重新建立,以utf-8-general-ci作为数据编码和连接编码,然后利用基于fgetcsv()的小程序导入数据,问题依旧;搜索过程中找到了这篇文章,于是尝试在主机上的MySQL shell进行操作,起初还是不行;后来设置了一下导入的csv文件的编码,character set gbk,然后就完全好了,第一行第二行数据导入,并且数据库里也可以显示中文没有乱码了

LOAD DATA LOCAL INFILE ‘csv file path’INTO TABLE tablename character set gbk FIELDS TERMINATED ‘’’;

总结:
1.建数据库的时候最好设置一下编码,不要用latin1_swedish_ci(瑞典语拉丁编码。。),选择utf-8-general-ci即可,这样可以数据库里可以正常显示中文
2.导入csv文件的时候一定要注意编码