Console.InputEncoding = Encoding.Unicode;
Console.OutputEncoding = Encoding.GetEncoding("utf-8");
Console.WriteLine("开始测试starttest전소미123");
string input = Console.ReadLine();
Console.WriteLine(input);
Console.ReadKey();
Console.ReadKey();
когда я запускаю эти коды, я получаю точно такую же строку, как показано ниже
![enter image description here](https://i.stack.imgur.com/M73ep.png)
И я не могу получить право символов, если я не установил InputEncoding или OutputEncoding или оба.
Но я не могу установить Console.OutputEncoding в программе winform. В mscorlib.dll возникло необработанное исключение типа «System.IO.IOException». Эта ошибка произошла во второй строке ниже:
Console.OutputEncoding = Encoding.Unicode;
code
Console.InputEncoding = Encoding.Unicode;
Console.OutputEncoding = Encoding.Unicode;
Process process = new Process()
{
StartInfo = new ProcessStartInfo
{
FileName = $".\\test.exe",
Arguments = "",
CreateNoWindow = true,
UseShellExecute = false,
ErrorDialog = true,
//AutoFlush = true,
//RedirectStandardInput = true,
RedirectStandardOutput = true,
RedirectStandardError = true,
StandardOutputEncoding = Encoding.GetEncoding("utf-8"),
},
};
process.Start();
string text = process.StandardOutput.ReadLine();
Я искал подобные вопросы в Интернете и проверял много раз в течение нескольких часов, просто не могу понять.