2

我在 UTF-8 编码的文件中有这样的代码:

<?php
setlocale(LC_ALL, 'cs_CZ.utf8'); //Can be commented out without effect.

$input = "Štěpán,Šafránek";
$result = str_getcsv($input);

echo $result[0]; //output = "těpán";
echo $result[1]; //output = "afránek";
?>

请注意这些回声产生的剪辑字符串。

这也有效:

<?php
setlocale(LC_ALL, 'cs_CZ.utf8'); //Can be commented out without effect.

$input = "aaaŠtěpán,aaaŠafránek";
$result = str_getcsv($input);

echo $result[0]; //output = "aaaŠtěpán";
echo $result[1]; //output = "aaaŠafránek";
?>

由于输入字符串是脚本的一部分,因此编码应该没有问题,对吧?语言环境设置正确,对吧?

那么有什么问题呢?我的决议是 str_getcsv() 完全被破坏了。解析CSV的任何替代方法?

有趣的是,它在 Windows 上运行良好,但在 Linux 上我看到了这种行为。

相关问题在这里,但那里提到的决议没有帮助: PHP str_getcsv removes umlauts

4

0 回答 0