Encodierung automatisch erkennen

Sancheck

Legendäres Mitglied
Hallo,
ich parse folgende CSV.
http://productdata.zanox.com/exportservice...&df&ds&im&lk&sn

Das mache ich über fgetcsv und bekomme eigenartige Zeichen zurück,

QUOTE <?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].";";
}
}

?>
 
In der Datei selber scheinen die Zeichen ok zu sein.

Vielleicht mal sowas wie

header("Content-Type: text/html; charset=utf-8");

probieren um eine Ausgabe per UTF-8 zu forcieren?
 
Hallo,
die Datei selbst kann ich nicht convertieren, die ist ja nicht von mir,..ich hab ja beim einlesen schon probleme...

Gruesse,
 
Hallo,

hast Du da ein paar mehr Informationen zu? Bisher sieht es nach UTF-8 aus, oder kommen da noch andere Kodierungen zu? Denn wenn man schon mit CSV arbeitet, sollte die Kodierung auch einheitlich sein. Ich persönlich würde auf würde wohl auf UTF8-Kodierung checken und es nur annehmen, wenn es auch das ist.


Gruß,
Sascha

PS: Nun lädt er eine GZ runter mit dem Inhalt: "link has expired". Da muss ja jemand irgendwo Mist gebaut haben. *g*
 
Ich bin nun draufgekommen, sobald man das leerzeichen des Links durch %20 ersetzt, funktioniert das einlesen.
Nun gib es aber immer noch ein Problem:
Mit Stabilisierungsmechanismus bei Hornhautverkrümmung• Integrierter Feuchtigkeitsspender• Kom

 
Hallo,
wie kann ich die Encodierung ermitteln?
Mein Problem ich habe verschiedene Quellen von csv, mit unterschiedlicher encodierung,...und die muss ich dann immer richtig decodieren,...
 
Die meisten dieser Dinger sind leider eher wenig zuverlässig, da zum einen die Zeichenkette nur nach einer möglichen Zeichenkodierung zugeordnet werden kann, selbst mit einer angeben Reihenfolge können noch immer wieder andere Zeichenkodierungen erkannt werden, oder werden Zeichenkodierungen akzeptiert, welche wohl Koderiungstechnisch passt, aber für Nr. ein anderes Zeichen hat, wie die andere Zeichenkodierung.
Dies kann natürlich bei Dateien etwas anders sein, da bspw. UTF-8 ein spezielles Einleitzeichenfolge besitzt, das ist aber leider auch kein Verlass drauf, dass es gesetzt wurde.
 
Hallo,
ja ich spreche von php. Das erkennen geht leider eben nicht immer so leicht,...
Habe ab und an dann wieder csv wo das nicht funktioniert..
 
Ich will gerne das Format erkennen und dann konvertieren und zB in UTF8 abspeichern,...in der DB und das alles automatisch.
 
aber grad bei zanox zum beispiel gibst du doch selber vor in welchem format du die daten ziehen willst, das bieten die anderen doch sicherlich auch an *vermutung*?
 
Ich frage mich gerade, wer noch Daten ohne UTF-8 austauscht, wenn CSV keine einheitliche Zeichenkodierung haben, sind die doch heute nicht mehr zu gebrauchen. Da hat halt XML eben einen klaren Vorteil, da wird die Zeichenkodierung mit angeben.
 
Hallo,
das csv auslesen hat bei mir einen speziellen sinn, weil mein parser einfach spalten enthaelt,...z.b. spalte 3 hat preise oder spalte 4,... deswegen kein xml.
 
Nun ja, da Du die Zeichenkodierung wohl nicht kennst von ADCall kannst Du da halt nur nachfragen, welche Koderiung die nehmen. Bei XML besteht das Problem nicht, dass Du genau wissen muss, wie Sie es abgespeichert haben, da gibt es nen Standard oder es steht drin.

Ich bin damit raus.
 
Zurück
Oben