Можете ли вы использовать строку 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 и все целевое приложение видит " echo ????????? "
При выполнении этой команды непосредственно в командной строке (путем вставки аргументов) целевое приложение правильно принимает строку, даже если сама строка командной строки не отображает ее правильно.
Нужно ли мне что-либо делать, чтобы включить поддержку UTF-8 в аргументах или это просто не поддерживается?
Вы передали аргументы в свое приложение, запустив приложение с помощью Process и ProcessStartInfo или непосредственно из командной строки? –
Я использовал Process/ProcessStartInfo - я только изменил «cmd.exe» на «test.exe», который был моим приложением WinForms. –