【问题标题】:Can I get Console to show Chinese?我可以让控制台显示中文吗?
【发布时间】:2011-09-18 07:48:11
【问题描述】:

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

【问题讨论】:

  • 为什么是 UTF8? Windows 讨厌 UTF8。使用 UTF16 不是更好吗?
  • UTF16 会更好。我同意。

标签: c# visual-studio console cjk


【解决方案1】:

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/) 能够显示中文字符。

【讨论】:

  • 我认为使用中文windows时控制台会显示中文,所以应该是可以的(虽然可能不是unicode编码)。
【解决方案2】:

在cygwin下,以下设置可以开启英文界面,但支持cat、tail等汉字显示

导出 LANG=en_US.UTF-8

导出 LC_CTYPE=zh_CN

【讨论】:

    【解决方案3】:

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

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

    这在 Windows 7 上对我有用,不需要语言包或特殊版本的 Windows。

    【讨论】:

    • 代码页 936 无效。你还有其他中文代码吗?
    猜你喜欢
    • 1970-01-01
    • 2016-04-21
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 2013-02-24
    • 2018-01-24
    • 2015-06-10
    相关资源
    最近更新 更多