2011-11-14 9 views
1

整形式のCSVファイルを解析できません。それはエンコーディングと何か関係がありますか? これはソースです:なぜこのCSVはfgetcsvで解析されないのですか?

<?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

答えて

2

改行文字が問題であるあなたは、UNIXの文字を持っていますが、あなたはWindowsスタイルを期待しています。 。改行 私は与えられたCSVファイルを使用してテストを変換

は、Windowsの改行とファイル変換されたCSVをテストすることができます。
http://pastebin.com/9CK3JMRc

ヨ自動検出でこれを修正することができますini_set('auto_detect_line_endings', true); または文字列を変換します。

関連する問題