我可以让控制台显示中文吗?

时间:2011-06-19 22:16:14

标签: c# visual-studio console cjk

我一直想知道是否可以在控制台窗口中显示UTF8或UTF16中文文本,例如Console.WriteLine(中文)。目前,它显示为???。是否可以启动支持中文字符的控制台会话?

3 个答案:

答案 0 :(得分:5)

urxvt,Unicode rxvt,是一个显示中文字符的Xwindow“控制台”。假设您正在使用Windows,这可以在Cygwin或coLinux下工作。

另见Unicode characters in Windows command line - how?。我还没弄明白如何将字体更改为Lucida,但至少chcp 65001摆脱了问号。

更改控制台字体看起来很复杂:https://superuser.com/questions/5035/how-to-change-the-windows-console-font。 (更新:通过右键单击Windows控制台中的控制台图标切换到Lucida;选择属性;字体选项卡;选择Lucida。没有帮助,中文字符显示为块。)

这个:http://www.vistax64.com/powershell/239480-display-unicode-utf-8-files-windows-console.html,提到Powershell ISE和Console2(http://www.ghacks.net/2008/06/09/console-2-a-better-cmdexe/)能够显示中文字符。

答案 1 :(得分:0)

在cygwin下,以下设置可启用英文界面,但支持cat,tail等中文字符显示。

export LANG = en_US.UTF-8

导出LC_CTYPE = zh_CN

答案 2 :(得分:0)

转到Control Panel -> Region and Language -> Administrative -> Change system locale...并选择中文区域设置。重新启动,现在你的控制台窗口将是代码页936,字体将是一个可以显示中文字符的字体。

您会注意到dir命令现在可以显示中文字符,如果您的程序将Unicode中文字符写入控制台,则会正确显示(而不是小方框)。

这适用于Windows 7,不需要语言包或特殊版本的Windows。