程序员人生 网站导航

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

栏目:php教程时间:2014-04-02 15:07:56

在处理大批量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函数对数据内容进行转码入库等后续操作。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐