1

我无法解析格式正确的 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;

这是正在运行的版本: CSV 问题

4

1 回答 1

2

换行符是问题所在。您有 unix 字符,但您希望使用 windows 样式的换行符。我用给定的 CSV 文件转换了一个测试。

您可以使用 windows 换行符测试转换后的 CSV 文件:http:
//pastebin.com/9CK3JMRc

ini_set('auto_detect_line_endings', true); 您可以通过自动检测或转换字符串来解决此问题。

于 2011-11-14T17:40:12.423 回答