Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有什么方法可以强制在终端中显示来自 ncurses 的 ACS 变量?在 urxvt 和文本模式下,一切都显示得很好,但在其他终端上(我在 xfce4-terminal、xterm、gnome-terminal 上测试过)总是有问题。我认为我对此无能为力,但我看到在 alsamixer 中一切正常显示。我在 alsamixer 代码中循环了这个,看到他们使用完全相同的方法来显示这个字符,例如
addch(ACS_RARROW);
正在给他们这个结果,而相同的命令在同一个终端上给了我这个结果。
在您的语言环境要求使用 UTF-8 的终端上(您可以通过locale命令显示的值的命名约定看到这一点),您必须这样做:
locale
在 之前初始化语言环境initscr,例如,
initscr
setlocale(LC_ALL, "");
请参阅 ncurses 手册的初始化部分以及手册页的线条图形部分。addch
addch