首頁 > 後端開發 > php教程 > floccinaucinihilipilification Linux fgetcsv所取得的陣列元素為空字串的解決方法

floccinaucinihilipilification Linux fgetcsv所取得的陣列元素為空字串的解決方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-07-29 08:47:15
原創
1382 人瀏覽過

但伺服器上,很多使用Linux伺服器,原始程式使用UTF-8,這樣很容易產生字元編碼的問題.
如果僅將CSV檔案轉碼為UTF-8,這樣在Windows伺服器上沒有問題,
而在RedHat5 .5上,用fgetcsv取得的陣列中,如果某列的內容是中文,則該列對應的陣列元素為空字串,而英文則正常.
這時,需要設定區域:
setlocale(LC_ALL, ' zh_CN.UTF-8');
程式碼如下

// 上傳的CSV 8,需要進行轉碼處理file_put_contents($new_file, iconv('GBK', 'UTF-8', file_get_contents($new_file))); //ini_set('auto_detect_line_endings', true); :簡體中文,UTF-8編碼setlocale(LC_ALL, 'zh_CN.UTF-8'); // 開啟CSV檔案

$handle = fopen($new_file, 'r');

// 取出列頭
$ data_heads = fgetcsv($handle);


以上就介紹了floccinaucinihilipilification Linux fgetcsv取得的陣列元素為空字串的解決方法,包括了floccinaucinihilipilification方面的內容,希望對PHP教程有興趣的朋友有所幫助。


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板