Linux fgetcsvで取得した配列要素は空の文字列の解決方法です。

703 ワード

ただし、サーバー上では、Linuxサーバーを使用する場合が多く、ソースプログラムはUTF-8を使用すると文字コードの問題が発生しやすくなります。CSVファイルをUTF-8にトランスコードするだけで、Windowsサーバ上で問題がなく、RedHat 5.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);
です。