Benutzer mit den meisten Antworten
Umlaute werden falsch dargestellt

Frage
-
Hallo,
ich lese so eine Datei aus:
string[] lines = System.IO.File.ReadAllLines("a.txt");
Allerdings werden die Umlaute bei der Ausgabe des Arrays falsch dargestellt.
Ich habe es mit UTF-8-Encoding versucht, was allerdings nicht funktioniert hat.
Ich verwende Visual Studio 2017.
Antworten
-
Ich bin selber auf die Lösung gekommen: Es sollte für Umlaute nicht UTF8, sondern UTF7 benutzt werden.
Das sieht dann so aus:string[] lines = System.IO.File.ReadAllLines("a.txt", System.Text.Encoding.UTF7);
- Als Antwort markiert Simgo123 Dienstag, 7. August 2018 19:41
Alle Antworten
-
Ich bin selber auf die Lösung gekommen: Es sollte für Umlaute nicht UTF8, sondern UTF7 benutzt werden.
Das sieht dann so aus:string[] lines = System.IO.File.ReadAllLines("a.txt", System.Text.Encoding.UTF7);
- Als Antwort markiert Simgo123 Dienstag, 7. August 2018 19:41
-
Hi,
normalerweise sollte es mit Encoding.Default funktionieren.
So:
string[] lines = System.IO.File.ReadAllLines(filePath, Encoding.Default); foreach (var l in lines) { Console.WriteLine(l); }
oder so:
using (StreamReader sr = new StreamReader(filePath, Encoding.Default)) { while (sr.Peek() >= 0) { Console.WriteLine(sr.ReadLine()); } }
als Beispiel mit Ausgabe in Console.
Gruß
Freiberufler im Bereich Softwareentwicklung Von der PLC und Robotik zu VB.NET & C#, vorrangig WPF und UWP
-
normalerweise sollte es mit Encoding.Default funktionieren.
Ne, das funktioniert natürlich nur dann, wenn Encoding.Default genau das Encoding zurückgibt, mit dem die Datei auch geschrieben wurden.
@TE: Ob da nun Umlaute enthalten sind oder nicht, hat nichts mit UTF8, UTF7, ... zu tun. Du musst herausfinden, mit welchem Encoding die Datei geschrieben wurde und genau mit diesem Encoding musst Du die Datei auch wieder einlesen. Wenn das beim Schreiben nun zufällig UTF7 war, ok. Aber ansonsten solltest Du denjenigen, der die Datei erstellt hat, fragen, welches Encoding er verwendet hat.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport