Как правильно ввести или вывести корейский в программе winform - PullRequest
0 голосов
/ 20 марта 2020
        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

И я не могу получить право символов, если я не установил 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();

Я искал подобные вопросы в Интернете и проверял много раз в течение нескольких часов, просто не могу понять.

1 Ответ

0 голосов
/ 20 марта 2020

Какой текстовый редактор и кодировку вы используете для исполняемого файла? Я думаю, что, например, кодировщик Блокнота по умолчанию - ANSI, который, как я знаю, не поддерживает азиатские символы. Если вы хотите изменить кодировщик для «Блокнота», нажмите «Файл» -> «Сохранить как», затем вы можете изменить кодировку слева на кнопку «Сохранить» и изменить кодировку на UTF-8 или Unicode.

...