Andreas: welches Trennzeichen "macht wenig Ärger"?

Hallo!
So ganz Reibungslos läuft der Datenimport denn nun doch noch nicht. ich habe 2 Stellen, die jeweils verschiedene Trennzeichen nicht mögen:
Bspw.: ";"

Teil 1:
// importiere mit dem Trennzeichen
system ("/usr/bin/mysqlimport -d --fields-terminated-by=';' -u".$user." -p".$pass." -h".$host." ".$db." ".$file, $fp);

Teil 2:
// öffne Ursprungsdatei (Daten mit fester Feld-Breite) und dazwischen Trennzeichen einfügen und in andere Dtei schreiben
$fd = fopen ($file, "r");
while (!feof($fd)) {
    $fl = fgets($fd,200);
     //hier will ich die Trennzeiczhen zwischen die Daten schreiben
 $out.=substr($fl,0,8).";".substr($fl,8,1).";".substr($fl,17,1)."|".substr($fl,18,4).";".substr($fl,22,5).";".substr($fl,27,58)."\n";
}

Naja, das geht so nicht, da ; nunmal Ende bedeutet, selbiges wenn ich | probiere, da denkt dann der SHELL Aufruf wer weiß was. Was könnte ich da machen? Ist sehr dumm, mir fällt kein einziges sicheres Trennzeichen ein, das keine Konflikte verursachen würde!!!

Grüße
Andreas

  1. Hi,

    So ganz Reibungslos läuft der Datenimport denn nun
    doch noch nicht.

    das klingt so, als müßten wir jetzt irgendwie
    verstehen, was Du damit meinst.

    Falls Du Dich auf irgend einen vorherigen thread beziehst, wieso hast Du nicht in diesem weiter gepostet - oder wenigsten einen Link auf ihn gesetzt, falls er schon im Archiv verschwunden sein sollte?

    Viele Grüße
          Michael

    1. Hallo - so spät noch wach :-)???

      das klingt so, als müßten wir jetzt irgendwie
      verstehen, was Du damit meinst.

      Wäre nicht schlecht, aber ich dachte nicht unbedingt erfoderlich!
      http://forum.de.selfhtml.org/?m=73875&t=13350, sorry irgendwie ne schlechte Angewohnheit für ein neues Thema einen neuen Thread zu eröffnen, untehn habe ich Dir aber auch geantwortet:http://forum.de.selfhtml.org/?m=73924&t=13104

      Falls Du Dich auf irgend einen vorherigen thread beziehst, wieso hast Du nicht in diesem weiter gepostet - oder wenigsten einen Link auf ihn gesetzt, falls er schon im Archiv verschwunden sein sollte?

      Der erste Satz war nur für die gedacht, die meinen vorherigen Thread verfogt haben, ich denke das ist aber irrelevant für die Lösung des Problems, es geht schlichtweg darum, was für Trennzeichen ich nutzen kann, do dass es weder Probleme gibt das diese beim Erstellen der Daten mitendrinn abbrechen wie ";", und keinen Einfluß auf system() haben, wie z.B. "|".

      Viele Grüße
      Andreas

  2. Moin!

    Naja, das geht so nicht, da ; nunmal Ende bedeutet, selbiges wenn ich | probiere, da denkt dann der SHELL Aufruf wer weiß was.

    Wenn's nur das ist, dann schreib doch einen Backslash davor. Jede vernuenftige Shell schaltet dann die Sonderbedeutung von solchen Zeichen aus. Beachte aber, dass der Backslash *bei der Shell* ankommen muss. D.h. dass Du evtl. 2 Backslashes im Sourcecode schreiben musst. Musst Du aber selber wissen; ich kann kein PHP.

    So long

    --
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
        -- Rich Cook

  3. Hi,

    ich verwende bei mir (Perl) immer TAB als Trenner ( \t ) mit PHP kenne ich mich nicht aus.
    Ansonsten habe ich auch sehr gerne auf | zurückgegriffen - aber doppelt. Also als Trennsymbol "||". Das wird auch nicht als Pipe angesehen.

    wie wärs mit │ ? chr(179)