国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > php 中fgetcsv函数将csv文件导入mysql数据库

php 中fgetcsv函数将csv文件导入mysql数据库

来源:程序员人生   发布时间:2014-04-02 15:07:56 阅读次数:3004次

在处理大批量excel数据到mysql数据库时,用php自带的fgetcsv函数先从csv文件中逐行获取数据,再配合sql语句导入数据库,如果遇到了乱码问题,可以使用iconv函数进行转码,代码示例如下:

  1. <?php 
  2. $row = 1; 
  3. $handle = fopen("test.csv","r"); 
  4. while ($data = fgetcsv($handle, 1000, ",")) {//1000为csv文件总行数,逗号是数据分隔符,这两个参数均可以忽略不写 
  5. $num = count($data); 
  6. echo "<p> 第 $row行有$num个字段。 <br>n"
  7. $row++; 
  8. for ($c=0; $c < $num$c++) { 
  9. echo $data[$c] . "<br>n"
  10. fclose($handle); 
  11. ?> 

导入mysql时中文乱码

用网上通用的方法读取并上传csv文件内容进入mysql数据库中时,中文显示乱码,即使对数据用iconv函数转码后仍然乱码,这时可以用setlocale()函数,这个函数经查阅是配置地域信息用的,在读取和写入csv数据前先用此函数进行定义,比如我的csv文件是无BOM的UTF-8格式,就先用如下函数进行定义:

setlocale(LC_ALL, 'zh_CN.UTF8′);然后再用iconv函数对数据内容进行转码入库等后续操作。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生