相关疑难解决方法(0)

Process.StartInfo.Arguments是否支持UTF-8字符串?

你可以使用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();
Run Code Online (Sandbox Code Playgroud)

执行此操作似乎松开了UTF-8字符串,所有目标应用程序看到的都是"echo ?????????"

直接在命令行上执行此命令(通过粘贴参数),目标应用程序正确接收字符串,即使命令行本身似乎没有正确显示它.

我是否需要做一些特殊的事情才能在参数中启用UTF-8支持,或者这是不支持的?

c# utf-8

12
推荐指数
2
解决办法
7221
查看次数

标签 统计

c# ×1

utf-8 ×1