程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 中fgetcsv函數將csv文件導入mysql數據庫

php 中fgetcsv函數將csv文件導入mysql數據庫

編輯:關於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函數對數據內容進行轉碼入庫等後續操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved