繁体   English   中英

如何在winform程序中以正确的方式输入或输出韩语

[英]How can I Input or output Korean in right way in a winform program

        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();

当我运行这些代码时,我得到完全相同的字符串,如下所示

在此处输入图片说明

如果我不设置 InputEncoding 或 OutputEncoding 或两者,我将无法获得正确的字符。

但我无法在 winform 程序中设置 Console.OutputEncoding。 它引发了 mscorlib.dll 中发生类型为“System.IO.IOException”的未处理异常。 这个错误发生在下面的第二行,

Console.OutputEncoding = Encoding.Unicode;

代码

        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();

我在网上搜索过类似的问题并测试了好几个小时,就是想不通。

您对 exe 文件使用什么文本编辑器和编码? 我认为例如记事本的默认编码器是 ANSI,我知道它不支持亚洲符号。 如果要更改记事本的编码器,请单击“文件”->“另存为”,然后您可以更改“保存”按钮左侧的编码并将编码更改为 UTF-8 或 Unicode。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM