是否可以在Windows控制台中输出和显示U + 2717(BALLLOT X)

本文关键字:2717 BALLLOT 显示 Windows 控制台 输出 是否 | 更新日期: 2023-09-27 18:34:22

我正在尝试从 C# 程序将 unicode 字符 U+2717 (BALLOT X( 输出到 Windows 控制台窗口,但没有成功。字体、输出编码或其他任何组合似乎都不起作用。我默认使用的字体(Consolas(可以正确显示此字符,因为它是我在Visual Studio中使用的字体,Visual Studio可以正确显示该字符。附近的字符 U+2713(复选标记(显示正确,因此我认为此字符的某些特定内容阻止了它正确显示。会是什么?

示例(非工作(代码:

System.Console.WriteLine("✗");

也不起作用(以相同的方式失败,即输出"?"(:

System.Console.WriteLine("'u2717");

我尝试设置各种输出编码:

System.Console.OutputEncoding = System.Text.Encoding.UTF32;
  • UTF32 引发异常(参数不正确(。
  • UTF8 在一个小框中输出一个 ?(Consolas 字体(。
  • UTF16 在一个小框中输出一个 ?(Consolas 字体(。
  • 如果我不设置输出编码,我会得到一个正常的 ? 字符。默认情况下,OutputEncoding 是 SBCSCodePageEncoding。

是否可以在Windows控制台中输出和显示U + 2717(BALLLOT X)

> ✗ 在我的 Win7 机器上不受 Consolas 支持。 如果我使用这里的代码列出支持 ✗ 的字体,我会得到 Meiryo、Meiryo UI、MS Gothic、MS Mincho、MS PGothic、MS PMincho、MS UI Gothic 和 Segoe UI 符号。 我相信正在发生的事情是Visual Studio正在退回MS Mincho,因为Consolas缺乏必要的字形。 Word 肯定会这样做 - 如果我在 Word 中输入 ✗,我无法将字体更改为 Consolas。

解决方法:

  1. 查找支持此字符的固定宽度字体。 例如DejaVu Sans Mono。

  2. 安装字体。

  3. 使用此处的说明将字体添加到可能的控制台字体列表中:为 Windows 命令提示符启用更多字体。

  4. 在控制台窗口中选择字体。