第一种:用excel文件格式批量导入。
php要利用excel批量导入会员信息须要引入excel插件,而且实现的代码还比较麻烦,综合考虑后就利用了第二种方法。

第二种:用csv文件格式批量导入。
php内置的有fgetcsv函数,可以从文件指针中读取数据并解析csv字段。

由于在csv文件中字符串编码基本上都是gb2312格式的。
以是在写入数据库之前用iconv函数把各个字符串由gb2312编码转换成了utf-8编码。
刚开始的测试的时候由于数据量比较少没有创造丢失数据的问题,后来上线试运行后大批量导入数据的时候就涌现常常性的丢失某个字段数据的问题。
然后便是各种排查、比拟创造数据都是正常的,难道是程序的问题?

iconvphputf8php中iconv转换成utf8编码丧失数据的问题 GraphQL

后台经由对丢失数据的那一行增加判断输出后,才创造问题所在:

gb2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始利用。
gb2312编码共收录汉字6763个,个中一级汉字3755个,二级汉字3008个。
同时,gb2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。

而gbk编码,是在gb2312-80标准根本上的内码扩展规范,利用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字,完备兼容gb2312-80标准,支持国际标准ISO/IEC10646-1和国家标准gb13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。

会不会是由于gb2312编码对中文支持的范围比较小的缘故原由。
于是就在iconv中把gb2312修正成gbk编码。
经测试,数据丢失的问题办理了。