Announcement

Collapse
No announcement yet.

Textdatei einlesen - jedoch Umlaute zerschossen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Textdatei einlesen - jedoch Umlaute zerschossen

    Hallo zusammen,

    ich habe ein großes Problem.

    Ich versuche eine Datei einzulesen, das klappt ja auch, jedoch zerschießt es mir die Umlaute.
    Die Datei hat das Format Westeuropäisch 1252.

    Wie kann ich C# es beibringen, dass es die Umlaute frisst.

    Ich bin schier am verzweifeln.

    Grüße

    Tylix


    Code:
    Stream reader = new StreamReader("D:\\Testdaten\\fakt_zusammen\\EDDH0_150.txt", true);
    StreamWriter writer = new StreamWriter("D:\\Testdaten\\fakt_zusammen\\TestFile.txt", true);
                    {
                        String line;
                        while ((line = reader.ReadLine()) != null)
                        {
                            Console.WriteLine(line);
    
                        }
    
                    }

  • #2
    Ich versuche eine Datei einzulesen, das klappt ja auch, jedoch zerschießt es mir die Umlaute.
    Und wie schauen die zerschossenen Umlaute aus?

    Comment


    • #3
      in notepad++

      HAll� erstm�hl, isch bin ehn test.
      g�ckst du h�er.

      In Ultra-Edit:
      HAll� erstm�hl, isch bin ehn test.
      g�ckst du h�er.

      Comment


      • #4
        Häng doch mal eine kurze Beispieldatei an.

        Comment


        • #5
          Originally posted by tylix View Post
          Ich versuche eine Datei einzulesen, das klappt ja auch, jedoch zerschießt es mir die Umlaute.
          Die Datei hat das Format Westeuropäisch 1252.

          Wie kann ich C# es beibringen, dass es die Umlaute frisst.
          Ganz einfach: indem Du angibst, dass die Datei mit diesem Format einzulesen ist. Dazu gibt es (übrigens bei vielen Klassen und Methoden) Überladungen, hier:
          Code:
          using(StreamReader stream1252 
              = new StreamReader("D:\\Testdaten\\fakt_zusammen\\EDDH0_150.txt",
                  System.Text.Encoding.GetEncoding(1252))  {
                              String line;
                              while ((line = reader.ReadLine()) != null)
                              {
                                  Console.WriteLine(line);
                              }
          }
          Übrigens kann man sich bei einem beliebigen Editor nicht darauf verlassen, ob die Umlaute richtig oder falsch eingelesen oder angezeigt werden. Auch dabei ist die Unicode-Fähigkeit zu überprüfen.

          Gruß Jürgen

          Comment


          • #6
            danke, das einlesen klappt jetzt,
            wenn ich diese aber jetzt in eine andere Datei schreibe, zerschießt es sie mir wieder. auf der Konsole werden sie aber richtig angezeigt.
            Wie kann ich dieses Problemchen auch noch lösen?

            Danke für die Info.

            Comment


            • #7
              Originally posted by tylix View Post
              danke, das einlesen klappt jetzt,
              wenn ich diese aber jetzt in eine andere Datei schreibe, zerschießt es sie mir wieder. auf der Konsole werden sie aber richtig angezeigt.
              Wie kann ich dieses Problemchen auch noch lösen?
              Ist das so schwer, selbst auf eine Lösung zu kommen? Zum Lesen habe ich vorgeschlagen, einen StreamReader mit passendem Encoding zu verwenden. Welcher Weg käme dann wohl zum Speichern in Frage? Jürgen

              Comment

              Working...
              X