ホームページ  >  記事  >  php教程  >  php 中fgetcsv函数将csv文件导入mysql数据库

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

WBOY
WBOYオリジナル
2016-06-13 10:02:051119ブラウズ

本文章来给各位同学详细介绍fgetcsv函数将csv文件导入mysql数据库具体函数,同时在中文乱码的解决办法,各位朋友可参考。


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


代码示例:

 代码如下 复制代码

$row = 1;
$handle = fopen("test.csv","r");
while ($data = fgetcsv($handle, 1000, ",")) {//1000为csv文件总行数,逗号是数据分隔符,这两个参数均可以忽略不写
$num = count($data);
echo "

第 $row行有$num个字段。
n";
$row++;
for ($c=0; $c echo $data[$c] . "
n";
}
}
fclose($handle);
?>

导入mysql时中文乱码

用网上通用的方法读取并上传csv文件内容进入mysql数据库中时,中文显示乱码,即使对数据用iconv函数转码后仍然乱码,这时可以用setlocale()函数:

这个函数经查阅是配置地域信息用的,在读取和写入csv数据前先用此函数进行定义,比如我的csv文件是无BOM的UTF-8格式,就先用如下函数进行定义:

 代码如下 复制代码

setlocale(LC_ALL, 'zh_CN.UTF8′);

然后再用iconv函数对数据内容进行转码入库等后续操作。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。