问题  控制台不显示中文输入字符串

新成员
加入
11月24日,2020年11月24日
消息
2
编程经验
Beginner
你好,

正如我的标题所说:在Windows 10上,我的控制台(CMD提示)不通过Console.readline显示中文输入字符串(但它正确显示中文非输入字符串)。
这是我有问题的代码块:
C#:
using System;
using System.IO;
using System.Text;

namespace 字符
{
    class Program
    {
        static void Main(string[] args)
        {   
           
            Console.InputEncoding = Encoding.UTF8;
            string Name = "字符人";
            int Age;
            Age = 1;

            Console.WriteLine("你好!我是一个"+ Name + "。");
            Console.WriteLine("我现在" + Age + "岁了。");
            Console.WriteLine("这是现在的我:");
            Console.WriteLine(" ---------");
            Console.WriteLine("|    |    |");
            Console.WriteLine("|----+----|");
            Console.WriteLine("|    |    |");
            Console.WriteLine(" ---------");

            string Nameuser, Name1, 颜色, 高度, 兴趣爱好, 性格特点;
           
            Console.Write("你叫什么名字:");
           
            Nameuser = Console.ReadLine();
            Console.WriteLine("你好,"+ Nameuser + "!"); 
(etc.)

控制台中的输出(CMD提示)如下所示:
C#:
你好!我是一个字符人。
我现在1岁了。
这是现在的我:
---------
|    |    |
|----+----|
|    |    |
---------
你叫什么名字:王先生
你好,   !
你也帮我取个名字:
你可以看到,你好和!有三个空格。我已经指定了控制台输入的编码,因此我不明白为什么输入字符串未正确显示。
在此先感谢您的帮助!
欢呼XD.
 
最后编辑了主持人:

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,865
地点
切萨皮克,va.
编程经验
10+
I don't have a machine setup for Chinese locale, but part of me is suspicious of the your line of code where you wrote Console.InputEncoding = Encoding.UTF8; yet you say that you are entering Chinese characters. In my mind, if the input encoding is UTF8, you should be not be entering Unicode Chinese characters. You should be entering UTF8 8-bit characters that represent the Unicode Chinese characters.
 

新成员
加入
11月24日,2020年11月24日
消息
2
编程经验
Beginner
亲爱的跳伞运动员,谢谢你的建议。实际上我在第一次出现问题后添加了那行,试图解决它。据我所知,UTF8应该能够处理中文。但是,我会欢迎关于编码的任何建议。有任何想法吗?
谢谢!
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,865
地点
切萨皮克,va.
编程经验
10+
看起来是好的想法,所以回答:
 
最佳 底部