複数の投稿をWordpressに挿入するために、ヘブライ語でCSVファイルを読み込もうとしています。Excel シートを CSV (カンマ区切り) として保存しました。Sublime Text でエンコード操作を行った後、どのテキスト エディターでもヘブライ語のコンテンツが正常に表示されます。
しかし、fgetcsv
ヘブライ文字を使用してファイルの内容を読み込もうとすると、選択的に無視されます。つまり、数字またはラテン文字の前にあるフィールド内の文字は正しく表示されます。数字/ラテン文字の前のヘブライ文字は無視され、出力から除外されます。
使用file_get_contents
して var_dump すると、コンテンツ全体が正しく取得されるため、問題がfgetcsv
.
コードfunctions.php
:
function csv_to_array($filename='', $delimiter=',')
{
if(!file_exists($filename) || !is_readable($filename)) {
return FALSE;
}
$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE)
{
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
{
if(!$header):
$header = $row;
else:
$data[] = $row;
endif;
}
fclose($handle);
}
return $data;
}
使用済み:
if (isset($_FILES['events'])) {
extract($_FILES['events']);
$events = csv_to_array($tmp_name);