本文章來給各位同學詳細介紹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 < $num; $c++) { echo $data[$c] . " n"; } } fclose($handle); ?> |
匯入mysql時中文亂碼
用網上通用的方法讀取並上傳csv檔案內容進入mysql資料庫中時,中文顯示亂碼,即使對資料用iconv函數轉碼後仍然亂碼,這時可以用setlocale()函數:
這個函數經查閱是配置地區資訊用的,在讀取和寫入csv資料前先用此函數進行定義,比如我的csv檔案是無BOM的UTF-8格式,就先用如下函數進行定義:
| 代碼如下 |
複製代碼 |
setlocale(LC_ALL, 'zh_CN.UTF8′); |
然後再用iconv函數對資料內容進行轉碼入庫等後續操作。
http://www.bkjia.com/PHPjc/631522.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631522.htmlTechArticle本文章來給各位同學詳細介紹fgetcsv函數將csv檔案匯入mysql資料庫具體函數,同時在中文亂碼的解決辦法,各位朋友可參考。 在處理大批量...