Laden...

Textdatei mit Umlauten einlesen, geht nicht =(

Erstellt von serial vor 14 Jahren Letzter Beitrag vor 14 Jahren 12.501 Views
S
serial Themenstarter:in
902 Beiträge seit 2007
vor 14 Jahren
Textdatei mit Umlauten einlesen, geht nicht =(

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

1.696 Beiträge seit 2006
vor 14 Jahren

Hallo,

bist du Sicher, dass die Datei eine UTF8-Datei ist? Lass mal Encoding.UTF8 weg, was passiert dann?

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

G
40 Beiträge seit 2008
vor 14 Jahren

UTF8 ist meines Wissens eher auf Linux-Systemen verbreitet;)

1.002 Beiträge seit 2007
vor 14 Jahren

Hallo serial,

laut dieser Lösung muss Encoding.Default verwendet werden.

Edit: Hier findest du nochmal eine kleine Erläuterung dazu ...

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

U
1.688 Beiträge seit 2007
vor 14 Jahren

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ö 😉

S
serial Themenstarter:in
902 Beiträge seit 2007
vor 14 Jahren

Hallo,

danke für eure Antworten.
Habe auf Default gestellt, und er haut mir mein ö trotzdem noch weg =(

mfg
serial

1.346 Beiträge seit 2008
vor 14 Jahren

Öffne die Textdatei mal im Editor. Geh dann mal auf Speichern Unter. In diesem Dialog solltest du unten die Kodierung sehen.

Gruß pdelvo

S
serial Themenstarter:in
902 Beiträge seit 2007
vor 14 Jahren

Ja diese ist ANSI, also Encoding.Default quasi?!

mfg
serial

1.346 Beiträge seit 2008
vor 14 Jahren

Ja. Dann sollte eigendlich Default funktionieren.

Gruß pdelvo

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo serial,

Encoding Tester

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

S
serial Themenstarter:in
902 Beiträge seit 2007
vor 14 Jahren

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

49.485 Beiträge seit 2005
vor 14 Jahren

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

S
serial Themenstarter:in
902 Beiträge seit 2007
vor 14 Jahren

ich weiss schon, ANSI deutsche Codepage, aber es tut einfach nicht =(

mfg
serial

3.971 Beiträge seit 2006
vor 14 Jahren

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...

S
serial Themenstarter:in
902 Beiträge seit 2007
vor 14 Jahren

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

S
8.746 Beiträge seit 2005
vor 14 Jahren

Dann ist auf deinem System eben nicht 1252 nicht als ANSI-Codepage eingestellt....