console.writeline无法显示中文字符

时间:2016-04-22 18:52:16

标签: c#

背景:

  1. 我在SQL数据库中有一个表,其中两列是英文名称和简体中文名称。
  2. 使用C#,我将此表的记录显示为具有两个名称的按钮,例如:Car Car。我就是这样做的: button.Text = x.EnglishName + x.ChineseName;按钮显示正确。
  3. 3.我想将button.Text与其他字符串进行比较,如下所示:

    for (int K = 0; K < alist.Count; K++)
    {
     string alpha = alist.[K];
     if (alpha == button.Text)
     //blahblahblah
    }
    

    问题:

    始终存在错误。 我发现了原因:当我使用Console.Writeline(button.Text)时,输出是Car?。 每个汉字都变成了“?”

    所以,显然,将汉字写在按钮的表面上是可以的。但是当从按钮面部读取汉字时不起作用。

    我该如何纠正?

1 个答案:

答案 0 :(得分:0)

您可能需要更改编码类型 -

Console.OutputEncoding = Encoding.Unicode  // For UTF-16

有关其他可用的编码类型,请参阅here