Trying to use UTF8 in Windows console. I give up.
authorGustavo Martin <gu.martinm@gmail.com>
Tue, 10 Jun 2014 04:27:17 +0000 (06:27 +0200)
committerGustavo Martin <gu.martinm@gmail.com>
Tue, 10 Jun 2014 04:27:17 +0000 (06:27 +0200)
Allgemeines/ProcessLauncher/ProcessLauncher/Program.cs

index b9e6bea..dae0926 100644 (file)
@@ -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();
         }
     }