我正在处理 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');
是解决方案。