C# 编码进程.startinfo.arguments错误

C# 编码进程.startinfo.arguments错误,c#,encoding,C#,Encoding,我假设这是我遇到的同一个问题。但是,如果我错了,这似乎并不正确 我从我的应用程序启动一个外部进程,并传递一个路径作为参数。现在,如果路径具有特殊字符,则在我的示例中为德语umlauts。外部应用程序失败,因为它获得了不同的字符。给定的字符串将在VS2010调试器中正确显示 我创建了一个类似这样的控制台应用程序来验证,并调用它而不是外部应用程序: static void Main(string[] args) { Console.WriteLine(args[0])

我假设这是我遇到的同一个问题。但是,如果我错了,这似乎并不正确

我从我的应用程序启动一个外部进程,并传递一个路径作为参数。现在,如果路径具有特殊字符,则在我的示例中为德语umlauts。外部应用程序失败,因为它获得了不同的字符。给定的字符串将在VS2010调试器中正确显示

我创建了一个类似这样的控制台应用程序来验证,并调用它而不是外部应用程序:

    static void Main(string[] args)
    {
        Console.WriteLine(args[0]);
    }

输出将显示在我的主应用程序中,即使在这里,特殊字符也是错误的,而不是ÜI getš。

命令行参数是Unicode。很明显,您尝试启动的应用程序正在将它们转换为8位编码。如果有任何可能,请联系所有者以获得支持。C控制台应用程序的args参数是否也在内部转换为8位,或者为什么会遇到此问题?