【发布时间】: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 Horizontal Double) 在扩展 ASCII (CP 437) 中编码为 207,但代码 207 是¤(U+00A4 货币符号) 在 CP850 等… -
@Mofi,哇,这么多文字。我并没有真正深入了解所有内容,但是从您的上一条评论中,我将字体从“光栅字体”更改为“Lucidia Console”(唯一的其他选项是“consolas”,它也可以使用)并且它解决了这个问题。你可以用这个创建一个答案,我会接受它。