【发布时间】:2010-04-13 08:03:08
【问题描述】:
您可以使用 UTF-8 字符串作为 StartInfo 的参数吗?
我正在尝试将 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 字符串,目标应用程序看到的只是“echo ?????????”
直接在命令行上执行此命令(通过粘贴参数)时,目标应用程序会正确接收字符串,即使命令行本身似乎无法正确显示它。
我需要做一些特殊的事情来在参数中启用 UTF-8 支持还是不支持?
【问题讨论】: