Utf 8 Tmux边框显示为x q而不是线?

Utf 8 Tmux边框显示为x q而不是线?,utf-8,debian,tmux,Utf 8,Debian,Tmux,我无法让tmux显示边框的线条。它们是用x和q创建的。这是一个debian压缩服务器,区域设置为en_US UTF8。我还尝试添加 # instructs tmux to expect UTF-8 sequences setw -g utf8 on set -g status-utf8 on echo "LANG=en_US.UTF-8" > /etc/locale.conf 指向.tmux.conf的行。似乎什么都不管用。我不确定这是否是区域设置问题。它在其他服务器上显示正确,但在

我无法让tmux显示边框的线条。它们是用x和q创建的。这是一个debian压缩服务器,区域设置为en_US UTF8。我还尝试添加

# instructs tmux to expect UTF-8 sequences
setw -g utf8 on
set -g status-utf8 on
echo "LANG=en_US.UTF-8" > /etc/locale.conf 

指向.tmux.conf的行。似乎什么都不管用。我不确定这是否是区域设置问题。它在其他服务器上显示正确,但在debian上显示不正确。我很感激你能给我的任何建议!谢谢…

您的终端仿真器与tmux正在使用的terminfo数据库条目(启动/连接到tmux服务器时由TERM环境变量命名的条目)之间存在一些不匹配

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

根据,当选择“特殊图形集”时,
x
用于绘制“垂直条”,而
q
用于绘制“水平线-扫描5”

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
在terminfo下,VT100特殊图形字符可作为备用字符集功能的一部分使用;请参阅中的“线条图形”部分

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

可能(在Debian服务器上)有效的terminfo数据库条目表明ACS可用,但终端仿真器实际上没有响应指定的控制序列

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
tmux文件表明,某些终端仿真器(如Putty)在UTF-8模式下不遵守ACS控制序列。因此,tmux 1.4有一个变化,当连接的客户端指定它可以处理UTF-8时,它总是使用UTF-8字符而不是ACS序列(即,在附加时,
-u
已给出,或者
UTF-8
存在于LC\u ALL、LC\u CTYPE或LANG中;
utf8
窗口选项是关于tmux应该从其运行的程序中得到什么,而不是它可以发送给附加的客户端的内容)

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
,因此您的tmux可能没有“首选UTF-8线条绘制”功能(除非它从源中提取)

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
如果您无法修复终端仿真器,也无法升级到至少tmux 1.4,那么您可能可以使用tmux的
终端覆盖
选项来取消设置ACS相关功能,以便tmux返回到ASCII线条绘制。在
.tmux.conf
中(在Debian系统上):

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

在putty设置中,尝试在Window->Translation下将字符集设置为“UTF-8”和“使用Unicode线描代码点”。

在windows/putty下,您使用的字体必须具有要显示的字符
echo "LANG=en_US.UTF-8" > /etc/locale.conf 

将翻译“UTF-8”和“使用Unicode线条绘制代码点”以及字体设置为“courier new”,这些问题大部分都会消失

当连接到Debian挤压机上运行的tmux时,PuTTY和Windows 8也有同样的问题。即使在PuTTY中将字符集设置为UTF-8(在“窗口>翻译>远程字符集”下的设置中)我没有获得正确的线条图

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

在Linux 12.04机器上启动tmux时,我遇到了与Putty相同的问题。即使在Putty中将字符集设置为UTF-8(在“窗口>翻译>远程字符集”下的设置中),也无法解决问题

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

使用-u选项启动tmux成功了(
tmux-u

我将Putty中terminal的设置更改为Latin-1,这似乎解决了问题。

我浏览了一系列建议,包括:

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
  • 确认现场和腻子中的UTF-8设置
  • 导出NCURSES\u NO\u UT8\u ACS=1
  • 手动尝试各种字体和PuTTY翻译选项
上述操作不起作用。对话框显示QQQ…和xxxx,带有各种角字符

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
将所有对话框调用更改为包含--ascii行是一个选项,但这将涉及大量脚本更改

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
最好的建议是将远程字符集更改为使用字体编码

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
PuTTY更改设置-->窗口-->转换-->远程字符集-->使用字体编码

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

将所有其他PuTTY设置保留为默认设置。

对我来说,问题是我在设置此Arch Linux box时忘记创建
locale.conf
文件。下面一行修复了此问题,请替换您自己的语言。我不需要重新启动

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
如果您正在使用Windows->Translation选项卡下有一个复选框,称为“允许ACS在UTF中绘制线条”。需要选中该复选框:

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

字体选择似乎是一个令人困惑的因素,也就是说:

echo "LANG=en_US.UTF-8" > /etc/locale.conf 
  • Lucida sans不显示UTF-8线条图,仅显示-+|(管道) 替代品
  • Courier New Bold不显示水平线,但| 垂直替代
  • 信使新常态会把他们都干掉

如果您有Putty 0.73或更高的打开设置,请展开“窗口类别”,然后选择“转换”。选中“即使在UTF-8模式下也启用VT100线条绘制”:

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

感谢所有提示……你说得对!我没有继续尝试修复安装,而是升级到1.5,它修复了角色问题。现在看起来很棒:)在Debian Squence上为我工作,将q变成-并将x变成|。在Squence上也为我工作。从后台安装tmux的命令是
sudo apt get-t Debian backports install tmux
。Squence当前是否有tmux 1.6。我遇到的问题是客户端总是使用ASCII码,但不起作用。我将其设置为
UTF-8
and一切正常。+1解释Putty不支持ACS+UTF。Kitty(Putty分叉/增强)有一个允许此选项(默认情况下似乎未选中)。为我解决了一个类似的问题。修复了一个我一直遇到的类似问题,但具有不同的字符(带有重音标记的a)我不得不将Putty使用的字符集切换到UTF-8。tmux-u为我做了这个技巧(cygwin mintty、mosh 1.4.2和tmux)作为参考,
tmux-u
强制tmux在UTF-8模式下运行。默认情况下,它将尝试基于区域设置环境变量pr进行检测
echo "LANG=en_US.UTF-8" > /etc/locale.conf