Encoding ncurses应用程序中的字符仅在tmux中正确显示

Encoding ncurses应用程序中的字符仅在tmux中正确显示,encoding,ncurses,blackberry-10,tmux,Encoding,Ncurses,Blackberry 10,Tmux,作为Berrymoot项目()的一部分,我已经将calcurse应用程序移植并交叉编译到BlackBerry10,但是我面临着伪图形字符的显示问题。在term48终端应用程序(TERM=xterm-256color)中启动时,分隔符显示为字母。 但是,如果在tmux中启动相同的应用程序,则分隔符看起来很好。 我曾尝试在终端中运行TERM=screen,但这并没有解决问题 有没有人有可能出错的理论 我怀疑a)bb10上有bug的ncurses b)应用程序中有破损的ncurses功能检测c)破

作为Berrymoot项目()的一部分,我已经将calcurse应用程序移植并交叉编译到BlackBerry10,但是我面临着伪图形字符的显示问题。在term48终端应用程序(TERM=xterm-256color)中启动时,分隔符显示为字母。

但是,如果在tmux中启动相同的应用程序,则分隔符看起来很好。

我曾尝试在终端中运行TERM=screen,但这并没有解决问题

有没有人有可能出错的理论

我怀疑a)bb10上有bug的ncurses b)应用程序中有破损的ncurses功能检测c)破损的终端功能检测d)系统中缺少区域设置信息


LC\u ALL
设置为
en\u US.UTF-8
。设置
NCURSES\u NO\u UTF8\u ACS=1
也没有帮助
ldd
显示calcurse链接到
libncursesw.so.1

我认为您使用NCURSES\u NO\u UTF8\u ACS的方法是正确的-如果tmux认为终端支持它,它将默认使用UTF-8绘制ACS(因为您的LANG包含UTF-8),因此,听起来您的终端支持UTF-8,但不正确支持ACS。以下内容是否在tmux之外工作(它应该显示符号而不是ASCII):


现代网络课程也应该使用UTF-8,我不知道为什么不使用。您可能想检查您正在使用的ncurses版本,或者尝试一个更新的版本,还有U8 terminfo(5)功能,您可以尝试设置为0或1的自定义条目。

不幸的是,
tput
在我的设备上不可用。我还尝试在本地主机上运行sshd,并使用不同的
xterm-256color
兼容的终端仿真器(ConnectBot)修复字符显示。所以听起来好像是终端不支持ACS。当我有你在这里的时候,我可以问一下这个问题是否对你有任何影响吗?谢谢你
tput enacs; tput smacs; tput acsc; tput rmacs; echo