教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php 中fgetcsv函数将csv文件导入mysql数据库

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

发布时间:2016-12-03   编辑:jiaochengji.com
教程集为您提供php 中fgetcsv函数将csv文件导入mysql数据库等资源,欢迎您收藏本站,我们将为您提供最新的php 中fgetcsv函数将csv文件导入mysql数据库资源
本文章来给各位同学详细介绍fgetcsv函数将csv文件导入mysql数据库具体函数,同时在中文乱码的解决办法,各位朋友可参考。


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


代码示例:

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy1446')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1446>

<?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格式,就先用如下函数进行定义:

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy5284')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy5284>

setlocale(LC_ALL, 'zh_CN.UTF8′);

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

您可能感兴趣的文章:
php 中fgetcsv函数将csv文件导入mysql数据库
php 的 fgetcsv() 函数
使用PHP导入与导出CSV文件实例详解
php 数据批量导入csv的简单例子
fgetcsv的用法和windows与linux下的兼容问题
解决php csv文件导入mysql中文乱码
fgetcsv取得的数组元素为空字符串时的解决方法
php数据批量导入csv文件(示例)
php导入csv到mysql数据库
php读取csv、写入csv与导出csv文件

[关闭]
~ ~