2016-04-22 28 views
0

背景:console.writeline不能显示中国文字

  1. 我在SQL数据库中的表,两列是英文名字和简体中国人的名字。
  2. 用C#,我有这个表格的记录显示为两个名字的按钮,如:Car车。这就是我做的: button.Text = x.EnglishName + x.ChineseName;按钮显示正确。

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

默认情况下,您将控制台设置为什么字符代码编码?字符编码也可以受控于缺省控制台字体 – scrappedcola

+0

Console.OutputEncoding = Encoding.UTF8; – Hozikimaru

+0

_总是有错误._错误是什么? –

回答

0

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

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

可用其他编码类型见here

+1

我试过了,没有工作,仍然是乱码... – Momom0