0

有什么方法可以强制在终端中显示来自 ncurses 的 ACS 变量?在 urxvt 和文本模式下,一切都显示得很好,但在其他终端上(我在 xfce4-terminal、xterm、gnome-terminal 上测试过)总是有问题。我认为我对此无能为力,但我看到在 alsamixer 中一切正常显示。我在 alsamixer 代码中循环了这个,看到他们使用完全相同的方法来显示这个字符,例如

addch(ACS_RARROW);

正在给他们这个结果,而相同的命令在同一个终端上给了我这个结果。

4

1 回答 1

0

在您的语言环境要求使用 UTF-8 的终端上(您可以通过locale命令显示的值的命名约定看到这一点),您必须这样做:

  • 使用ncursesw编译/链接
  • 在 之前初始化语言环境initscr,例如,

    setlocale(LC_ALL, "");

请参阅 ncurses 手册的初始化部分以及手册页的线条图形部分。addch

于 2017-11-05T10:59:09.887 回答