Почему этот CSV не анализируется с помощью fgetcsv? - PullRequest
1 голос
/ 14 ноября 2011

Я не могу разобрать файл 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

1 Ответ

2 голосов
/ 14 ноября 2011

Символ новой строки является проблемой.У вас есть символы Unix, но вы ожидаете перевода строки в стиле Windows.Я конвертировал тест с этим файлом CSV.

Вы можете протестировать конвертированный файл CSV с помощью новых строк Windows:
http://pastebin.com/9CK3JMRc

Вы можете исправить это с помощью автоматического определения ini_set('auto_detect_line_endings', true); или преобразовать строки.

...