php 中fgetcsv函数将csv文件导入mysql数据库
在处理大批量excel数据到mysql数据库时,用php自带的fgetcsv函数先从csv文件中逐行获取数据,再配合sql语句导入数据库,如果遇到了乱码问题,可以使用iconv函数进行转码,代码示例如下:
<?php $row = 1; $handle = fopen("test.csv", "r"); while ($data = fgetcsv($handle, 1000, ",")) { //1000为csv文件总行数,逗号是数据分隔符,这两个参数均可以忽略不写 $num = count($data); echo "<p> 第 $row行有$num个字段。 <br>\n"; $row++; for ($c = 0; $c < $num; $c++) { echo $data[$c] . "<br>\n"; } } fclose($handle); ?>
导入mysql时中文乱码
用网上通用的方法读取并上传csv文件内容进入mysql数据库中时,中文显示乱码,即使对数据用iconv函数转码后仍然乱码,这时可以用setlocale()函数,这个函数经查阅是配置地域信息用的,在读取和写入csv数据前先用此函数进行定义,比如我的csv文件是无BOM的UTF-8格式,就先用如下函数进行定义:
setlocale(LC_ALL, 'zh_CN.UTF8′);然后再用iconv函数对数据内容进行转码入库等后续操作。
本文地址:http://www.phprm.com/develop/fs1130.html
转载随意,但请附上文章地址:-)