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