Php 为什么不使用fgetcsv解析此CSV?

Php 为什么不使用fgetcsv解析此CSV?,php,encoding,fgetcsv,Php,Encoding,Fgetcsv,我无法解析格式良好的CSV文件。这可能与编码有关吗? 这是来源: <?php $handle = fopen ("http://productdata.zanox.com/exportservice/v1/rest/20058589C1721570258.csv?ticket=A3AC91472561713FFB72A266542E9240AFE88CDE05D23B40B28B517606BE5D41&columnDelimiter=;&textQualifier=Dou

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

这是正在运行的版本:

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

您可以使用windows换行符测试转换的CSV文件:

您可以通过自动检测
ini\u集('auto\u detect\u line\u endings',true);
或者转换字符串