c# streamwriter umlaute

Gast #6311087
hallo,

problem mit c#-streamwriter:

output_file.WriteLine(txt, Encoding.GetEncoding(850));

txt = "Summe  netto E19       0,00 €"

wird zu

Summe  netto E19       0,00 €

Wie bringe ich den streamwriter dazu, den deutschen Zeichensatz zu 
verwenden?

Danke für Unterstützung
Moderator
Der Text liegt offensichtlich in UTF-8-Kodierung vor. Da CP850 kein '€'
enthält, werden die drei UTF-8-Bytes 0xE2, 0x82 und 0xAC vermutlich
einfach beibehalten.

Zur Anzeige der geschriebenen Datei verwendest du offensichtlich ein
Tool, das die Windows-1252-Kodierung verwendet. Dort entsprechen die
drei Bytes den Zeichen 'â', '‚' (einfaches Anführungszeichen) und '¬'.

Wahrscheinlich  werde ich es nicht mehr erleben, dass Microsoft diesen
endlosen Kauderwelsch von Zeichenkodierungen, die teilweise noch auf
MSDOS zurückgehen, bereinigt :)
Gast
grundschüler schrieb:

> output_file.WriteLine(txt, Encoding.GetEncoding(850));
>
> txt = "Summe  netto E19       0,00 €"
>
> wird zu
>
> Summe  netto E19       0,00 €
>
> Wie bringe ich den streamwriter dazu, den deutschen Zeichensatz zu
> verwenden?

Wenn dein Windows "europäische" Locales verwendet, dann einfach durch

output_file.WriteLine(txt, Encoding.Default);

wenn nicht, kannst du dasselbe durch

> output_file.WriteLine(txt, Encoding.GetEncoding(1252));

erreichen.
Gast
das war schon mal alles hilfreich.

1
             var printProcess = new Process();
2
               printProcess.StartInfo.FileName = Path.Combine(docPath, "EA_" + listBox1.SelectedItem);
3
               printProcess.StartInfo.UseShellExecute = true;
4
               printProcess.StartInfo.Verb = "print";
5
               printProcess.Start();

Problem ist nicht das Erstellen der Datei sondern nur der Ausdruck der 
Datei!

im Editor wird alles richtig angezeigt. Gedruckt wird anscheinend mit 
Wordpad. Ändern in "Dateieigenschaften"/"öffnen mit" behebt das Problem.

danke
Gast
nicht"Gast" schrieb:

> Wer macht denn so was?

Jemand, der keine Ahnung hat von dem, was er da tut. C&P-"Programmierer" 
halt...

> Drucken mit C# ist ja nun nicht so schwer.

Kommt drauf an, wie genau man druckt. Man kann es sich sehr einfach 
machen und ziemlich gräuliche Drucke erzielen oder man kann etwas mehr 
Code investieren und perfekte Drucke erhalten. Zumindest letzteres 
erfordert schon merklich umfangreicheren Code als ein Shell-Aufruf.
Gast
Das kommt davon, wenn man eine grottige Programmiersprache wie C# 
benutzt. Bei modernen fortschrittlichen Programmiersprachen hat man 
deutlich weniger Probleme mit UTF8.
Gast
h4x0r schrieb:
> Das kommt davon, wenn man eine grottige Programmiersprache wie C#
> benutzt. Bei modernen fortschrittlichen Programmiersprachen hat man
> deutlich weniger Probleme mit UTF8.

OMG...

Mehr kann man zu diesem Statement wohl kaum sagen...
Gast
h4x0r schrieb:
> Das kommt davon, wenn man eine grottige Programmiersprache wie C#
> benutzt. Bei modernen fortschrittlichen Programmiersprachen hat man
> deutlich weniger Probleme mit UTF8.

Welche sollen das denn sein?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.