Problem mit Umbrüchen, Windoze -> LinuX
Ibrahim
- php
Hallo,
ich gebe per PHP auf einer Unix-Kiste eine CSV-Datei aus.
Diese ist so aufgebaut:
a;b;c;
1;2;3;
usw.
Nun wird diese CSV-Datei in ein Windoze-Programm von einer Spedition importiert.
Der Kollege dort sagte mir, dass das Programm nur DOS-Umbrüche annimmt.
Nun steh ich vor einem Problem, denn meines Wissens gibt es keine Funktion, DOS-Umbrüche in PHP zu generieren.
\r geht nicht.
\n auch nicht.
\r\n auch nicht
Gibt es da evtl eine schlaue Funktion, die das für mich erledigt ;) ?
Hope you can help,
XY alias ibrahim.
Hello,
grundsätzlich gibt es da Unterschiede zwischen Excel 5.0, 97, und 2000 und so weiter.
Warum sollte man etwas, was in der Version 5.0 bereits bestens funktioniert hat, bei der nächsten Version so lassen? *grrr*
Und wenn man nun CSV vernünftig[tm] aufbaut und Excel gleich mit dem Dateinamen der CSV-Datei im Aufruf-String startet, dann geht es sogar noch bei Excel 2003. Wehe aber, wenn man versucht, erst Excel zu startetn und dann die Importfunktion zu nutzen bzw. "Datei Öffnen".
CSV sollte so aussehen:
"text1","text2"," zahl","""text_in_Häkchen""",""CRLF
CRLF steht für den Zeilenumbruch.
Funktioniert aber auch bestens nur mit CR oder nur mit LF
Das Feld vor cem CRLF ist leer.
So klappt das auch mit den unterschiedlichen Excels.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
grundsätzlich gibt es da Unterschiede zwischen Excel 5.0, 97, und 2000 und so weiter.
Warum sollte man etwas, was in der Version 5.0 bereits bestens funktioniert hat, bei der nächsten Version so lassen? *grrr*
Da hast du vermutlich recht ;)
Und wenn man nun CSV vernünftig[tm] aufbaut und Excel gleich mit dem Dateinamen der CSV-Datei im Aufruf-String startet, dann geht es sogar noch bei Excel 2003. Wehe aber, wenn man versucht, erst Excel zu startetn und dann die Importfunktion zu nutzen bzw. "Datei Öffnen".
Ja, aber es geht ja nicht um Excel.
CSV sollte so aussehen:
"text1","text2"," zahl","""text_in_Häkchen""",""CRLF
Hm, laut Spezifikation der Software sollte es aber doch so sein wie ich geschrieben habe ;).
CRLF steht für den Zeilenumbruch.
Funktioniert aber auch bestens nur mit CR oder nur mit LF
Das Feld vor cem CRLF ist leer.
So klappt das auch mit den unterschiedlichen Excels.Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
Ja, aber es geht ja nicht um Excel.
Sorry, da war ich eben Betriebsblind. Ich habe die letzten vier Wochen kaum was anderes gemacht, als Dateien, die von den verschiedendsten Leuten über zwei Jahre lange gesammelt wurden, erst in Excel und dann in Access und eine SQL-DB zusammenzutragen.
DOS-Umbrüche sind eigentlich 0Dh 0Ah
also define('CRLF',chr(13).chr(10));
Allerdings solltest Du Dir mal so eine kleine Datei geben lassen. Wer weiß, was in dem "DOS-Programm" als Umbruch (Satzende) benutzt wird.
SDF (Standard Data Format) hat aber immer CRLF benutzt.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom