Erstellen von Textdateien die Linux versteht, aber wie?

  • Hi,


    hab mir gerade ein tool geschrieben für das Episoden Plugin. Das Plugin hohlt sich die Episoden Infos aus der entsprechenden *.episodes Datei. Das sind normale Textdateien die Tabulator getrennt Informationen enthalten.


    Also ich hab das in C# und Windows Forms zusammen gecodet und in meinen generierten Textdateien sind jetzt statt den Umlauten komische Symbole. Der Zeilenumbruch ist zu sehen, aber am Ende der darüberliegenden Zeile ist am schluss sowas "^M".


    Weiß einer was ich an meinem Debian Sarge oder in meinem Code umändern muss das die Textdatei die richtigen Zeichen enthält?


    Hier mal der Code Ausschnitt mit dem die Textdatei erstellt wird:

    SERVER Dell R400: Intel PII 400MHz; 256MB SD RAM; 300GB + 250GB IDE HDD; 4MB Graka; SkyStar2; Samba; Kein Monitor --> SSH und VDRAdmin-am 3.5.1
    C't VDR 4.5 -> Debian Sarge (2.6.12c); VDR 1.4.5


    CLIENT Athlon XP 2,6Ghz; MSI K7N2G-L (MS-6777); 256MB DDR 333Mhz RAM; 70GB + 400GB IDE HDD; OnBoard Graka mit TV-Out; Sounblaster Audigy 2 ZS; Nexus-S
    C't VDR 4.5 -> Debian Sarge (2.6.12c); VDR 1.4.5

  • ok das dos2unix lößt das mit den Zeilenumbrüchen und wie mach ich das mit den Umlauten?


    Das Problem mit den Umlauten hab ich auch wenn ich über Samba von meinem Debian Client auf meinen Debian Server geh das find ich ja schon ziemlich komisch. Da die ja das gleiche Alphabet benutzen.

    SERVER Dell R400: Intel PII 400MHz; 256MB SD RAM; 300GB + 250GB IDE HDD; 4MB Graka; SkyStar2; Samba; Kein Monitor --> SSH und VDRAdmin-am 3.5.1
    C't VDR 4.5 -> Debian Sarge (2.6.12c); VDR 1.4.5


    CLIENT Athlon XP 2,6Ghz; MSI K7N2G-L (MS-6777); 256MB DDR 333Mhz RAM; 70GB + 400GB IDE HDD; OnBoard Graka mit TV-Out; Sounblaster Audigy 2 ZS; Nexus-S
    C't VDR 4.5 -> Debian Sarge (2.6.12c); VDR 1.4.5

  • Also wenn du den Code selbst schreibst, würde ich dort dafür sorgen, dass die Zeilenumbrüche korrekt sind.


    In deinem Fall, tausche einfach den WriteLine-Aufruf des StreamWriter gegen Write und schreibe die Zeilenumbrüche selbst:


    Zum Umlautproblem, hast du es schon in der smb.conf mit folgenden Angaben versucht:

    Code
    [global]
    unix charset = ISO8859-15
    display charset = ISO8859-15


    <EDIT>
    Falls du die Umlautprobleme mit der erzeugten Datei hast, sieh dir den Constructor für StreamWriter mit Encoding-Parameter an: http://msdn2.microsoft.com/en-us/library/3aadshsx.aspx (keine Ahnung wie lange der MSDN-Link gültig ist)

    Code
    new StreamWriter(File.Create(textBox_PathToData.Text), System.Text.Encoding.Default);

    sollte OK sein.

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

    Einmal editiert, zuletzt von geeg07 ()

  • alternativ zu dos2unix kann man auch unter unix recode verwenden, das so ziemlich alle Zeichensatz-Kodierungen ineinander umwandeln, die es so gibt (Also auch deutlich mehr als nur das cr-lf-Problem beheben). Zumindest DOS-Umlaute konnte ich (vor langer Zeit :-)) in iso-8559-1 konvertieren.


    Gruß Herbert

  • Mit NewLine kann das Verhalten des StreamWriter Objektes definiert werden (Collection Microsoft.VisualBasic.ControlChars)


    Code
    Dim dataFileIO As System.IO.StreamWriter = New System.IO.StreamWriter(dataFile, False)
    dataFileIO.NewLine = Microsoft.VisualBasic.ControlChars.Lf
    dataFileIO.WriteLine("&MESURES")


    -- sigma7

    Passively Cooled VDR: VDR 1.4.4, Debian Etch, Dynamic CPU Frequency, EPIA MII-12000, TT FF DVB-S 1.5, TT Budget DVB-S 1400, AVBoard 1.3, Philips SBC RU 760

  • Also das mit dem recode nach ISO hat nicht geklappt.


    ABER


    - Write mit angehängtem "\n" im String gibt schöne Umbrüche und
    - Encoding.GetEncoding("ISO-8859-15") als 2. Parameter bei den Konstruktoren von StreamWriter/Reader und schon klappts auch mit den Umlauten ;)


    Dann kann ich ja jetzt mal morgen anfangen meine ganzen Episoden einzutragen, sehr schön.


    Danke Jungs, woher soll so ein Linux noob auch wissen das die 2 OS nicht den gleichen ASCII Zeichensatz haben ^^

    SERVER Dell R400: Intel PII 400MHz; 256MB SD RAM; 300GB + 250GB IDE HDD; 4MB Graka; SkyStar2; Samba; Kein Monitor --> SSH und VDRAdmin-am 3.5.1
    C't VDR 4.5 -> Debian Sarge (2.6.12c); VDR 1.4.5


    CLIENT Athlon XP 2,6Ghz; MSI K7N2G-L (MS-6777); 256MB DDR 333Mhz RAM; 70GB + 400GB IDE HDD; OnBoard Graka mit TV-Out; Sounblaster Audigy 2 ZS; Nexus-S
    C't VDR 4.5 -> Debian Sarge (2.6.12c); VDR 1.4.5

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!