c# streamwriter umlaute

Moderator #6311123
Lesenswert?

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 #6311158
Lesenswert?

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 #6311174
Lesenswert?

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 #6311260
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren