我无法解析格式良好的CSV文件。难道它与编码有关吗? 这是来源:
<?php
$handle = fopen ("http://productdata.zanox.com/exportservice/v1/rest/20058589C1721570258.csv?ticket=A3AC91472561713FFB72A266542E9240AFE88CDE05D23B40B28B517606BE5D41&columnDelimiter=;&textQualifier=DoubleQuote&nullOutputFormat=NullValue&dateFormat=dd/MM/yyyy HH:mm:ss&decimalSeparator=comma&gZipCompress=null&id&na&pp&df&ds&im&lk&sn","r");
while ( ($data = fgetcsv ($handle, 1000, ";")) !== FALSE ) {
$num = count ($data);
for ($c=0; $c < $num; $c++) {
echo $data[$c].";";
}
}
?>
我猜,它必须对编码做些什么。输出为: <{¿{?×(ÄN¾R“0;
这是正在运行的版本: Problem with CSV
答案 0 :(得分:2)
换行符就是问题所在。你有unix chars,但你期望windows风格的换行符。 我用给定的CSV文件转换了它的测试。
您可以使用Windows换行符测试转换的CSV文件:
http://pastebin.com/9CK3JMRc
您可以通过自动检测ini_set('auto_detect_line_endings', true);
解决此问题
或转换字符串。