POV: ich habe eine C# Anwendung, die die Ausgabe von stdout und stderr von einer Konsolenanwendung ausliest:
consoleoutput = process.StandardOutput.ReadToEnd();
erroroutput = process.StandardError.ReadToEnd();
Benutze ich meine extra dafür gebaute Klasse in einer Konsolenanwendung (bzw. einem Testprojekt), werden Umlaute direkt so interpretiert wie sie ausgelesen wurden.
Benutze ich dieselbe Klasse und denselben Code in einer WinForms-Anwendung, wird die Ausgabe escaped (also "\u0081" statt "ü").
Das führt hier allerdings zu Folgeproblemen:
- Ich möchte die Ausgabe, die über die WinForms-Anwendung generiert wurde zum Verifizieren in meinem Testprojekt einlesen - bekomme hier aber zwei unterschiedlich encodete Strings, die sich natürlich nicht vergleichen lassen.
- Im einer WinForms Textbox werden die Umlaute einfach weggelassen, was ebenfalls unschön ist.
Wie bekomme ich es in der WinForms-Anwendung hin, dass sämtliche Umlaute exakt so erhalten bleiben wie in der Konsolenanwendung sichtbar ist?