HAllo,
ich verzweifel gerade und habe wohl einen Knick im Kopf.
Ich will eine .txt Datei mit umlauten einlesen:
content = File.ReadAllLines(filePath,Encoding.UTF8);
Dateiinhalt:
Söhne Mannheims - Titel
trotzdem wird das ö nicht genommen...
irgendwas habe ich wohl vergessen...oder?
mfg
serial
Hallo,
bist du Sicher, dass die Datei eine UTF8-Datei ist? Lass mal Encoding.UTF8 weg, was passiert dann?
**:::
UTF8 ist meines Wissens eher auf Linux-Systemen verbreitet;)
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
Hallo,
Fazit ist wohl, das Encoding zu prüfen und richtig zu setzen - und das muss eben nicht UTF-8 sein.
UTF8 ist meines Wissens eher auf Linux-Systemen verbreitet😉
Nö 😉
Hallo,
danke für eure Antworten.
Habe auf Default gestellt, und er haut mir mein ö trotzdem noch weg =(
mfg
serial
Öffne die Textdatei mal im Editor. Geh dann mal auf Speichern Unter. In diesem Dialog solltest du unten die Kodierung sehen.
Gruß pdelvo
Ja. Dann sollte eigendlich Default funktionieren.
Gruß pdelvo
Hallo serial,
Davon abgesehen: das Thema wurde schon wirklich häufig besprochen. Gerade als erfahrenes Mitglied benutze bitte die Forumssuche und poste die besten Treffer hier. Vielen Dank!
herbivore
HAllo nochmal,
@herbivor ich habe schon gesucht, nur haben die lösungen nicht zum erfolg geführt.
Ich kann es mir auch langsam nicht mehr vorstellen, habe auch StreamReader mit Codierungserkennung benutzt.
Die ANSI-Codepage gesetzt, aber es klappt einfach nicht =(
mfg
serial
Hallo serial,
so schwer ist das doch nun wirklich nicht. Du guckst dir mit einem Hexeditor den Code der Umlaute an. Als Mensch sieht man dann doch, wie die codiert sind und welches Encoding man verwenden muss.
herbivore
ich weiss schon, ANSI deutsche Codepage, aber es tut einfach nicht =(
mfg
serial
Encoding.Default gibt auf einem deutschen System Windows-1252 (Codepage 1252) zurück. Wurde die Datei mit einer anderen Codepage oder Codierung (UTF8, UTF16) geschrieben, funktioniert das Einlesen nicht korrekt.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
So, ich hab es jetzt!
Ich habe händisch ein Encoding für Codepage 1252 erstellt mit Encoding.GetEncoding(1252)
Jetzt funktioniert es....sollte das aber nicht das gleiche wie bei Encoding.Default sein?(Hatte ich auch benutzt, tat aber nicht)
mfg
serial
Dann ist auf deinem System eben nicht 1252 nicht als ANSI-Codepage eingestellt....