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

C#windows窗体无法显示简体中文字符,c#,unicode,C#,Unicode,不知何故,我先前的问题被标记为重复 问题: 我有一个用汉字记录的数据库。我可以把它们拿出来,在button.Text中使用它们 然而,当我使用 Console.WriteLine(button.Text); 输出将每个汉字显示为一个“?” 现在,为什么这个问题不能重复? 我已经彻底地寻找了一个解决方案,不仅仅是在stackoverflow上,在我可以搜索的任何地方(用我有限的技能)。阅读所有相关文章。我发现了两种可能的解决方案: 一: Console.outpunecoding=Encodin

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

问题:

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

然而,当我使用

Console.WriteLine(button.Text);
输出将每个汉字显示为一个“?”

现在,为什么这个问题不能重复? 我已经彻底地寻找了一个解决方案,不仅仅是在stackoverflow上,在我可以搜索的任何地方(用我有限的技能)。阅读所有相关文章。我发现了两种可能的解决方案:

一: Console.outpunecoding=Encoding.Unicode; Unicode、UTF8、UT7、UTF32

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

我已经尝试了这两种建议的解决方案,无论是单独还是一起。没有任何效果。输出从“?”更改为完全不可识别的字符


有人知道该怎么做吗?

我认为这是一个副本,表明尽管.net和Unicode支持您的字符,但您用作控制台输出字体的字体不支持该Unicode字符


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

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

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

我甚至不需要设置
控制台。outpunecoding
。这是结果(这些是从互联网复制/粘贴的汉字):


我有一个数据库,里面有汉字记录。我可以把它们拿出来,并在button.Text中使用它们。
-你说的拿出来是什么意思?你确定你从数据库中正确地读回了它们吗?OP建议他可以把文本放到一个按钮上,所以我认为问题只是关于输出到控制台@Momom0-您能告诉我们导致您出现问题的文本的unicode值吗?您可以在控制台中显示简体中文字符,只需转到您的区域设置,然后更改“非unicode程序的语言”设置为简体中文之后,您需要将控制台的字体更改为
Consolas
,就这样@纳斯雷丁你能告诉我怎么做吗?“区域设置”按钮在哪里?o、 0谢谢!当我靠近电脑时,我会尽快发布一个更完整的答案。这应该是一个评论或投票以评论结束。我不认为是这样-OP可能会因为我的答案不正确而拒绝我,并继续寻求更好的解决方案。我假设我的答案肯定是正确的,因为OP有点傲慢,你不觉得吗?答案是你链接的答案的副本(其中还提到需要更改字体)。OP的问题也是如此。在他们确认之前,你怎么知道它解决了OPs问题。它缺少了在windows区域设置中将非unicode程序的语言更新为简体中文的部分。