|
如果僅僅將CSV文件轉碼為UTF-8,這樣在Windows服務器上沒有問題,
而在RedHat5.5上,用fgetcsv取得的數組中,如果某列的內容是中文,則該列對應的數組元素為空字符串,而英文則正常.
這時,需要設置區域:
setlocale(LC_ALL, 'zh_CN.UTF-8');
代碼如下
復制代碼 代碼如下:
// 上傳的CSV文件,通常是用Excel編輯的GBK編碼,
// 而源代碼是UTF-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);
php技術:Linux fgetcsv取得的數組元素為空字符串的解決方法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。