Scharfes s (ß) wird falsch angezeigt

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von lasse.

    Scharfes s (ß) wird falsch angezeigt

    Hallo zusammen,

    ich habe ein Problem mit meinem Programm. Wenn ich eine Textdatei über StreamReader einlese, also so:

    VB.NET-Quellcode

    1. Dim eigenedateien As String = IO.Path.Combine(Application.StartupPath, "ordner1")
    2. Dim AntwortMulti As New IO.StreamReader(eigenedateien & "\" & rnd1 & ".txt")
    3. lbl01.Text = AntwortMulti.ReadLine()
    4. lbl02.Text = AntwortMulti.ReadLine()
    5. AntwortMulti.Close()


    dann klappt das zwar, aber wenn die txt-Datei ein "ß" enthält, wird es immer als so ein komisches unleserliches Zeichen angezeigt. Woran liegt das? Und wie kann ich es ändern?

    Vielen Dank für eure Hilfe!!
    Hallo,

    wenn du mit dem ß Probleme hast nehme ich an, dass dieses Problem auch
    bei äöü auftritt oder ?

    Wie wird den die Textdatei erstellt ?

    Im Fall das sie über VB erstellt wird dürfte das eigentlich nicht passieren,
    kommt die Datei aber nicht von deinem Programm dann ist ganz bestimmt
    die Codierung verantwortlich für den Fehler.

    Windows MSDN sagt zu dem Problem folgendes: :D
    Die StreamReader-Klasse und die StreamWriter-Klasse verwenden standardmäßig die UTF-8-Codierung. Die UTF-8-Codierung verarbeitet Unicode-Zeichen richtig und stellt sicher, dass lokalisierte Versionen des Betriebssystems miteinander übereinstimmen.
    Mit StreamReader können Sie die Codierung einer Datei automatisch erkennen oder sie als Parameter in einem Konstruktor angeben.
    Dazu würde ich versuchen einfach mal das Format beim Einlesen zu verändern:

    VB.NET-Quellcode

    1. Dim AntwortMulti As New IO.StreamReader(eigenedateien & "\" & rnd1 & ".txt", System.Text.Encoding.ASCII, false)


    Schau dir mal die System.text.encoding Möglichkeiten an !

    mfg hubertus23 :thumbup: