【问题标题】:╧, ╤ and ╪ show wrong on Windows 7 cmd console╧、╤ 和 ╪ 在 Windows 7 cmd 控制台上显示错误
【发布时间】:2020-03-27 22:52:37
【问题描述】:

我有一个 python 脚本,它使用扩展的 ASCII 字符代码 179-218 将表格绘制到控制台输出,更具体地说:179(│)、185(╣)、186(║)、187(╗)、188 (╝)、200(╚)、201(╔)、202(╩)、203(╦)、204(╠)、205(═)、206(╬)、207(╧)、209(╤)和216 (╪)。

我在 Windows 10 和 Windows 7 机器上运行脚本。在 Windows 10 机器上一切正常,但是当我在 Windows 7 机器上运行它时,它没有正确显示字符 209(╤)、207(╧) 和 216(╪)。当我将字符复制粘贴到记事本和记事本++时,它会显示正确,并且将这些字符直接输入到其他地方也可以正常工作。当我直接在控制台输入字符时也会发生同样的情况,我得到了错误的字符。如下所示:

这是什么原因,有没有办法解决这个问题?

【问题讨论】:

  • 都是关于mojibake(与控制台字体无关)。例如。 (U+2567 = Box Drawings Up Single And Horizo​​ntal Double) 在扩展 ASCII (CP 437) 中编码为 207,但代码 207 是 ¤ (U+00A4 货币符号) 在 CP850 等…
  • @Mofi,哇,这么多文字。我并没有真正深入了解所有内容,但是从您的上一条评论中,我将字体从“光栅字体”更改为“Lucidia Console”(唯一的其他选项是“consolas”,它也可以使用)并且它解决了这个问题。你可以用这个创建一个答案,我会接受它。

标签: cmd windows-7


【解决方案1】:

有两种可能的原因:

  1. Python 脚本中用于encoding the characterscode page 与Windows 命令处理器用于控制台的代码页不同。
    cmd.exe 默认使用的代码页取决于为使用的帐户配置的地区/国家。可以通过打开command prompt 并运行命令chcp 来查看自己用户帐户使用的代码页。如果此代码页支持显示不正确的字符,则可以在维基百科或其他网站上查找。

  2. 使用的控制台字体不支持该代码页的字符编码。

以下有关 Stack Overflow 的答案可能有助于理解该问题:

Windows 7 上的控制台和 Windows 8/8.1/10 上的控制台之间的默认区别在于默认使用的字体,不能使用 Windows commands 在批处理文件中更改。

所以我建议比较 cmd.exe 在 Windows 7 和 Windows 10 上使用的代码页。根据为用户帐户配置的国家/地区,在两个 Windows 使用的相同代码页上,我建议在 Windows 7 字体 @ 上配置987654333@ 或 Lucida Console 而不是默认的 Raster Fonts (Terminal) 并检查是否有区别。

对于有问题的字体,另请参阅:

顺便说一句:在我的 Windows 7 机器上,运行批处理文件时显示的字符以 *.lnk 文件开头,Raster Fonts 10x18Selected Font - Terminal ) 在快捷方式文件的属性中配置的确实看起来像字体Terminal 的字符,而在运行cmd 时显示的字符看起来像Courier New 的字符,尽管cmd 控制台窗口的属性显示Raster Fonts 8x12选定字体 - 终端)。我可以看到在 cmd 属性的 Size 中选择 10x18 而不是 8x12 字符的外观会发生变化。所以看起来光栅(位图)字体Terminal 不支持默认大小8x12,因此Windows 使用Courier New 作为替代来在默认控制台窗口中显示字符。我可以在我的 Windows XP 机器上看到相同的行为。奇怪的是微软将光栅字体Terminal定义为Windows XP/Vista/7上的默认字体,但是这个字体的*.fon文件都不支持默认字体大小8x12所以替换字体Courier New 用于在默认控制台窗口中显示字符。

【讨论】:

    猜你喜欢
    • 2019-03-21
    • 2021-11-17
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    相关资源
    最近更新 更多