在我的 C 程序中,我不得不将我的 unicode 制框字符转换为 DOS 代码页 437 的转义字符,以使其在 Windows 命令提示符下工作。在为 linux 本地编译程序时,是否可以更改 gnome-terminal 的代码页以正确显示这些字符?
谢谢。
在我的 C 程序中,我不得不将我的 unicode 制框字符转换为 DOS 代码页 437 的转义字符,以使其在 Windows 命令提示符下工作。在为 linux 本地编译程序时,是否可以更改 gnome-terminal 的代码页以正确显示这些字符?
谢谢。
来自https://nethackwiki.com/wiki/IBMgraphics
当前的 gnome-terminal 没有代码页 437 的设置,但它确实支持与 NetHack 用途等效的其他代码页,例如 862(希伯来语)。
在 gnome-terminal 上设置代码页 862:
- 选择终端->设置字符编码->添加或删除。
- 在左侧的窗格中,选择带有描述希伯来语和编码 IBM862 的行。
- 单击两个窗格之间的向右箭头。
- 单击关闭。
在 Gnome 安装的整个生命周期内,上述步骤只需执行一次。一旦完成,就足够了:
- 选择终端、设置字符编码,然后选择希伯来语 (IBM862)。
需要注意的是,Ubuntu Jaunty 中当前默认的 gnome-terminal 字体完全支持 DECgraphics,只要将 Eight_bit_tty 设置为 false。
如果您需要这些字符,您应该使用它们正确的 Unicode 代码点值并将它们输出为 UTF-8。或者,如果您愿意,您可以将它们输出为宽字符,并让标准库的语言环境系统负责将它们转换为 UTF-8 或用户选择的其他“本机”编码(甚至可能是 CP437,尽管我已经从未见过如此糟糕的系统设置......)。