私はphpでcsvインポートスクリプトに取り組んでいます。フィールドの先頭にある外国文字を除いて、正常に機能します。
コードは次のようになります
if (($handle = fopen($filename, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
$teljing[] = $data;
fclose($handle);
}
これが私の問題を示すデータ例です
føroyskir stavir, "Kr. 201,50"
óvirkin ting, "Kr. 100,00"
これにより、次のようになります
array
(
[0] => array
(
[0] => 'føroyskir stavir',
[1] => 'Kr. 201,50'
)
[1] => array
(
[0] => 'virkin ting', <--- Should be 'óvirkin ting'
[1] => 'Kr. 100,00'
)
)
私はこの振る舞いがphp.netのいくつかのコメントに文書化されているのを見て、行末ini_set('auto_detect_line_endings',TRUE);
を検出しようとしました。失敗。
この問題に精通している人はいますか?
編集:
AJに感謝します、この問題は解決されました。
setlocale(LC_ALL, 'en_US.UTF-8');
解決策でした。