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
Windows Encoding != DOS Encoding. Mit welchem Programm wird das .txt weiter verarbeitet? Bei notepad würde ich eher UTF-8 bentuzen (mit BOM).
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 :)
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.
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
grundschüler schrieb: > Gedruckt wird anscheinend mit Wordpad. Wer macht denn so was? Drucken mit C# ist ja nun nicht so schwer.
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.
nicht"Gast" schrieb: > Wer macht denn so was? Drucken mit C# ist ja nun nicht so schwer. c# druckt mit wordpad weil wordpad als standardprogramm für *.txt-Dateien eingestellt war. Frag mich nicht warum.
grundschüler schrieb: > c# druckt mit wordpad weil wordpad als standardprogramm für > *.txt-Dateien eingestellt war. Frag mich nicht warum. OMG... Mehr kann man zu diesem Statement wohl kaum sagen...
Das kommt davon, wenn man eine grottige Programmiersprache wie C# benutzt. Bei modernen fortschrittlichen Programmiersprachen hat man deutlich weniger Probleme mit UTF8.
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...
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?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.