German Problem beim Einlesen von Umlauten in Textfiles

Discussion in 'German Forum' started by mclane, Dec 8, 2007.

  1. mclane

    mclane New Member

    Hallo,

    ich habe ein Problem beim Einlesen von ASCII-Textdateien. Ein Text, der zeilenweise gelesen wird, enthält deutsche Umlaute. Diese werden beim Einlesen entweder durch ein "?" oder eine andere Zeichenfolge ersetzt, abhängig davon, ob ich die Datei mit

    FileOpen(f1, Dateiname,cRead,,cASCII)

    oder einfach nur

    FileOpen(f1, Dateiname,cRead)

    öffne. Ich habe bisher keine Lösung gefunden, das sauber einzulesen.

    Gibt es da ein Workaround?

    Vielen Dank für einen Hinweis.
     
  2. specci48

    specci48 Well-Known Member Licensed User

    Hallo mclane,

    bist Du sicher, dass die Datei im ASCII-Format vorliegt, und nicht im Windows-konformen ANSI? Öffne Deine Datei mal mit dem Windows Notepad. Wird sie korrekt angezeigt? Falls ja, dann hast Du eine ANSI und keine ASCII Datei...

    Wenn die Datei im Notepad korrekt sichtbar ist, dann mache folgendes:
    Wähle Speichern unter..., unter dann in der Combobox "Codierung" das Format UTF-8. UTF-8 ist das Standardfomat bei Basic4ppc.

    Nun solltest Du die Datei mit
    Code:
    FileOpen(f1, Dateiname,cRead)
    problemlos einlesen und anzeigen können.


    specci48
     
  3. mclane

    mclane New Member

    Hallo specci48,

    vielen Dank für Deine Informationen! Deine Vermutung war ein Volltreffer, ich hatte die Existenz von ANSI glatt verdrängt und irrtümlich ASCII unterstellt. Das Abpeichern in UTF-8 lieferte das vorhergesagte Ergebnis.

    Trotzdem schade, dann wird mein Vorhaben wohl nicht klappen. Ich wollte Abrechnungsdaten in CSV-Textdateiform, die eine unterschiedliche Dateigröße von 10 Kilobyte bis zu 90 Megabyte haben mit einem Programm in der recht angenehm zu programmierenden Basic4PPC-Sprache bearbeiten. Dank .Net-Unterbau sind große Dateien ja kein Problem und das Lesen und Schreiben gelang recht flott. Das Programm sollte allerdings noch von Dritten ohne Mehraufwand zu benutzen sein. Leider klappt das nicht auf direktem Wege mit dem ANSI-Format.

    Danke und Gruß
    mclane
     
Loading...