# .tmux.conf
set -g status-utf8 on
setw -g utf8 on
然而,当我在终端窗口中输入斯堪的纳维亚字符æ
,ø
和å
时,我得到以下输出:
<00c3><00a6><00c3><00b8><00c3><00a5>
我使用Iterm2
作为我的终端,并且字符在tmux之外正确打印。
答案 0 :(得分:1)
您使用 zsh 吗?通过将LC_CTYPE设置为en_US.US-ASCII
,同时实际发送UTF-8(即躺在 zsh ),我能够得到它来产生这样的结果(内部和外部 tmux ) em>(和其他区域设置敏感程序)关于期望的字符集。)
检查LC_ALL,LC_CTYPE和/或LANG在 tmux 会话中是否具有适当的值;您可能希望使用以.UTF-8
结尾的一致值。您可以使用locale
查看有效值,locale -a
列出可用值。
您可能还需要重置 tmux 全局和/或会话环境中的错误变量(以便新的会话/窗口/窗格不会继续获取错误的值)。您可以使用
检查 tmux 全局环境tmux show-environment -g | grep -E 'LC|LANG'
使用(例如)tmux set-environment -g LANG "$your_value"
调整其值。
每个会话还可以覆盖环境变量(对于在该会话中创建的新窗口和窗格)。您可以使用
检查会话的环境tmux show-environment -t "$session_name" | grep -E 'LC|LANG'
您可以使用(例如)tmux set-environment -t "$session_name" -u LANG
取消设置会话环境值(以便将全局值用于新窗口/窗格),或使用tmux set-environment -t "$session_name" LANG "$your_value"
调整会话值。
或者,如果您没有任何重要会话,则可以使用一组已知良好的语言环境变量值重新启动 tmux 服务器。