我有这段代码:
$row = 1;
if (($handle = fopen("data.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
并且CSV文件包含阿拉伯语的数据,当我在浏览器中打开页面时,我得到所有行中第二个字段的空值,但在CSV文件中它包含数据。因此,当存在阿拉伯数据时,我会在页面中显示空白 - 并非所有阿拉伯数据,其中大多数 -
当我放置一个不包含阿拉伯数据的文件时,每件事都可以。
有什么问题?
编辑:
来自CSV文件的行:
我将它们添加为照片,因为复制/过去不会以正确的顺序放置数据
我输入了这张照片:
答案 0 :(得分:0)
我认为问题是由于用于创建CSV的不同语言/字符集,并将其读入PHP。
如果字符集不相同,PHP会尝试进行转换。在这种情况下,看起来转换失败,导致数据丢失。
答案 1 :(得分:0)
我也试过不同语言的数据,但是当我使用php代码读取csv文件时,数据被转换为 ???????? 。在csv文件中尝试了不同的语言数据,但没有找到成功的结果。所以我得出一个结论,如果我们想要处理涉及多种语言的电子表格文件,那么英语 PHPExcel 将是最佳选择。这是一个很棒的图书馆。它肯定会帮助你。