你可以使用一個UTF-8字符串作爲StartInfo的參數嗎?Process.StartInfo.Arguments是否支持UTF-8字符串?
我想通過一個UTF-8(在這種情況下是一個日文字符串)作爲控制檯參數的應用程序。
像這樣的東西(這只是一個例子!(cmd.exe的將是一個自定義應用程序))
var process = new System.Diagnostics.Process();
process.StartInfo.Arguments = "/K \"echo これはテストです\"";
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = true;
process.Start();
process.WaitForExit();
執行這個看似鬆散的UTF-8字符串和所有的目標應用程序看到的是「回聲?????????「
當直接在命令行上執行此命令(通過粘貼參數)時,即使命令行本身似乎無法正確顯示,目標應用程序也會正確接收該字符串。
我是否需要做任何特殊的事情來在參數中啓用UTF-8支持,或者這只是不受支持?
是否通過使用Process和ProcessStartInfo啓動應用程序或直接從命令行將參數傳遞到應用程序? – 2010-04-13 10:18:40
我使用了Process/ProcessStartInfo - 我只將「cmd.exe」更改爲「test.exe」,這是我的WinForms應用程序。 – 2010-04-13 11:20:49