您好,登錄后才能下訂單哦!
本篇內容主要講解“php導入csv亂碼如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php導入csv亂碼如何解決”吧!
php導入csv亂碼問題的解決辦法:1、構造一個解析函數“function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}”;2、讀取文件到變量;3、通過“substr($s,2)”去掉BOM頭即可。
解決php導入淘寶助理csv文件亂碼問題及解析
用php導入csv文件很多時候會出現中文亂碼的情況,特別是導入淘寶助理數據包,在網上查了很多轉碼方法,都無法解決問題,這是什么原因呢?
首先,淘寶助理導出的csv文件為UTF-16LE編碼,很少見是吧。
其次,它的csv文件并非逗號分隔,而是\t分割。
通過如下代碼,即可實現csv文件解析功能
/** * 構造一個解析函數 * (php內置的str_getcsv不知為何會出現局部亂碼,原因不詳) */ function tb_str_getcsv($string, $delimiter=',', $enclosure='"') { $fp = fopen('php://temp/', 'r+'); fputs($fp, $string); rewind($fp); while($t = fgetcsv($fp, strlen($string), $delimiter, $enclosure)) { $r[] = $t; } if(count($r) ==1) return current($r); return $r; } $s = file_get_contents($path); //讀取文件到變量 $s = iconv('UTF-16LE', 'utf-8', substr($s,2));//轉碼,substr($s,2)的作用是去掉 BOM 頭 FFFE //有的第三方數據包很不規范,控制符沒有用空雙引號 //可能導致列數不對應,在此加上空雙引號 $s = str_replace("\t\t", "\t\"\"\t", $s); $s = str_replace("\t\t", "\t\"\"\t", $s); $csv_data = tb_str_getcsv($s, "\t");//讀取到數組
一、phpStudy,是一個新手入門最常用的開發環境。
二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡單對小白比較友好。
三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站集成軟件。
四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。
五、寶塔面板,寶塔面板是一款服務器管理軟件,支持windows和linux系統。
六、UPUPW,UPUPW是目前Windows平臺下最具特色的Web服務器PHP套件。
到此,相信大家對“php導入csv亂碼如何解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。