ただし、サーバーでは Linux サーバーが多く使用されており、ソースプログラムは UTF-8 を使用しているため、文字エンコードの問題が発生しやすいです
CSV ファイルを UTF-8 にトランスコードするだけであれば、Windows では問題ありません。サーバー、
そして、RedHat5.5では、fgetcsvで取得した配列において、列の内容が中国語の場合、その列に対応する配列要素は空の文字列になりますが、英語は通常です
。地域を設定する必要があります:
setlocale (LC_ALL, 'zh_CN.UTF-8');
コードは次のとおりです
コードをコピーします コードは次のとおりです:
// アップロードされたCSVファイルは通常 GBK エンコードされ Excel で編集されます
// そしてソース コードは 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);
http://www.bkjia.com/PHPjc/324536.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/324536.html技術記事ただし、サーバーでは Linux サーバーが使用されていることが多く、ソース プログラムが UTF-8 を使用しているため、文字エンコードの問題が発生しやすいため、CSV ファイルを UTF-8 にトランスコードするだけであれば、Windows サーバーでは問題ありません。 .