From: Gustavo Martin Date: Tue, 10 Jun 2014 04:27:17 +0000 (+0200) Subject: Trying to use UTF8 in Windows console. I give up. X-Git-Url: https://git.gumartinm.name/?a=commitdiff_plain;h=4d68a87409cfcdffc00b1778c5b1ad0c4b12b3d1;p=CSharpForFun%2F.git Trying to use UTF8 in Windows console. I give up. --- diff --git a/Allgemeines/ProcessLauncher/ProcessLauncher/Program.cs b/Allgemeines/ProcessLauncher/ProcessLauncher/Program.cs index b9e6bea..dae0926 100644 --- a/Allgemeines/ProcessLauncher/ProcessLauncher/Program.cs +++ b/Allgemeines/ProcessLauncher/ProcessLauncher/Program.cs @@ -1,4 +1,5 @@ using System; +using System.Text; namespace ProcessLauncher { @@ -7,14 +8,17 @@ namespace ProcessLauncher public static void Main(string[] args) { LinuxWindowsProcess process = new LinuxWindowsProcess(); - Console.WriteLine("Linux"); - var linuxOutput = process.Test("ls", "-lah"); - Console.WriteLine("stdout: {0}", linuxOutput.ToString()); + //Console.WriteLine("Linux"); + //var linuxOutput = process.Test("ls", "-lah"); + //Console.WriteLine("stdout: {0}", linuxOutput.ToString()); + // I need to change the console font :/ So even using UTF8 encoding this is not going to work. :( + Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("Windows"); - var windowsOutput = process.Test("cmd.exe", "/C dir /A"); + // UTF8 is 65001 code page. :O + // see: http://ss64.com/nt/cmd.html + var windowsOutput = process.Test("cmd.exe", "/C chcp 65001 && dir /A"); Console.WriteLine("stdout: {0}", windowsOutput.ToString()); - Console.ReadLine(); } }