C#窗体无法显示简体中文字符

时间:2016-04-28 19:38:16

标签: c# unicode

不知何故,我之前的问题被标记为重复。

问题:

我有一个包含中文字符记录的数据库。我可以把它们拿出来,并在button.Text中使用它们。

然而,当我使用

Console.WriteLine(button.Text);

输出将每个中文字符显示为"?"

现在,问题为什么不重复? 我已经搜索了一个解决方案,而不仅仅是在stackoverflow上,我可以搜索到的所有地方(我的技能有限)。阅读所有相关帖子。我找到了两个可能的解决方案:

一: Console.OutputEncoding = Encoding.Unicode; Unicode,UTF8,UT7,UTF32。

二: 将我的计算机的控制面板中的区域设置更改为具有简体中文的区域。然后重新启动并再次运行解决方案。

我已经单独和一起尝试了这两种建议的解决方案。没有任何作用。输出从"?"完全乱七八糟,无法辨​​认的角色。

有没有人知道该怎么做?

2 个答案:

答案 0 :(得分:1)

这是我评论的更完整版本。我能够显示简体中文字符的方法是将非Unicode程序的语言更改为中文:

Changing the language of Non-Unicode programs to Chinese

然后在cmd属性中将字体设置为Consolas

enter image description here

我甚至不需要设置Console.OutputEncoding。这是结果(这些是从互联网上复制/粘贴的中文字符):

enter image description here

答案 1 :(得分:0)

我认为这是How to write Unicode characters to the console?的副本,表示尽管.net和Unicode支持您的字符,但您用作控制台输出字体的字体不支持该Unicode字符。

您的帖子并未表明您已尝试调整控制台字体。