我正在使用php中的csv导入脚本.它工作正常,除了字段开头的外来字符.
代码看起来像这样
if (($handle = fopen($filename, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
$teljing[] = $data;
fclose($handle);
}
Run Code Online (Sandbox Code Playgroud)
这是一个显示我的问题的数据示例
føroyskir stavir, "Kr. 201,50"
óvirkin ting, "Kr. 100,00"
Run Code Online (Sandbox Code Playgroud)
这将导致以下结果
array
(
[0] => array
(
[0] => 'føroyskir stavir',
[1] => 'Kr. 201,50'
)
[1] => array
(
[0] => 'virkin ting', <--- Should be 'óvirkin ting'
[1] => 'Kr. 100,00'
)
)
Run Code Online (Sandbox Code Playgroud)
我已经在php.net的一些评论中看到了这种行为,我试图ini_set('auto_detect_line_endings',TRUE);检测行结尾.没有成功.
有谁熟悉这个问题?
编辑:
谢谢你,这个问题现在解决了.
setlocale(LC_ALL, 'en_US.UTF-8');
是解决方案.