溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用php讀取csv文件出現(xiàn)亂碼如何解決

發(fā)布時間:2020-12-23 15:06:26 來源:億速云 閱讀:741 作者:Leah 欄目:開發(fā)技術

本篇文章給大家分享的是有關使用php讀取csv文件出現(xiàn)亂碼如何解決,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一般來說在php中碰到亂碼多半是編碼問題,在這里我們實例分析了fgetcsv讀取csv文件亂碼原因所在與解決方法。

例子如下:

復制代碼 代碼如下:

function get_csv_contents( $file_target ){
 $handle  = fopen( $file_target, 'r');
 while ($data = fgetcsv($handle, 1000, ",")) {
 
  $num = count($data);
  echo "<p> $num fields in line $row: <br>n";
  $row++;
  for ($c=0; $c < $num; $c++) {
   echo $data[$c]. "<br>n";;
   /*echo getUTFString($data[$c])*/
  }
 }
 fclose($handle);
}


導入的csv文件是以ansi編碼保存的,對于中文操作系統(tǒng)環(huán)境對應的應該就是gbk編碼了,通過手動更改瀏覽器字符編碼為gbk,亂碼的情況消失了,于時進行了下面調整。

復制代碼 代碼如下:

$data = eval('return '.iconv('gbk','utf-8',var_export($data,true)).';');


$data為需要轉換編碼的數(shù)組。

補充:LINUX FGETCSV讀取GBK數(shù)據(jù)亂碼

當Linux系統(tǒng)是使用的默認設置,則在該Linux服務器上對gbk的csv格式文件進行處理的時候,就會出現(xiàn)亂碼現(xiàn)象。

解決方法是:

使用 setlocale 函數(shù)設置環(huán)境變量。比如要設置使用gb 的區(qū)域設置可以在fgetcsv前使用下面的語句。

復制代碼 代碼如下:

setlocale(LC_ALL,array('zh_CN.gbk','zh_CN.gb2312','zh_CN.gb18030'));


以上就是使用php讀取csv文件出現(xiàn)亂碼如何解決,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

php
AI