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