git将✓和characters等字符转换为下划线(_)

时间:2014-10-14 21:58:52

标签: git tmux

我有一个git存储库,其中包含我的.bashrc,因此包含以下内容:

...
PROMPT_DIRTY=" \[\033[1;31m\]✗\[\033[0m\]"
PROMPT_CLEAN=" \[\033[1;32m\]✓\[\033[0m\]"
...

如果我在Archlinux发行版上克隆这个repo,我会得到这个(上面的)输出。但如果我在Debian(试过多个版本)或FreeBSD 10.0上克隆了回购,那我就得到以下内容:

...
PROMPT_DIRTY=" \[\033[1;31m\]_\[\033[0m\]"
PROMPT_CLEAN=" \[\033[1;32m\]_\[\033[0m\]"
...

即。特殊字符✓和✗被转换为下划线(_)。

有人知道为什么会这样吗?我想要原始的特殊非字母数字字符而不是下划线。

1 个答案:

答案 0 :(得分:2)

我使用tmux来查看.bashrc文件。 tmux中存在的问题禁用了UTF-8支持。

根据联机帮助页,tmux尝试通过查看字符串“UTF-8”的LC_ALL,LC_CTYPE和LANG环境变量来猜测UTF-8支持。您可以使用“-u”参数强制tmux UTF-8支持。

在我的情况下,似乎tmux猜错了,我的LANG环境变量被设置为UTF-8语言环境。所以tmux没有识别出“UTF-8”字符串,但在我用“-u”标志调用tmux之后,因此强制支持UTF-8,所有内容都按预期显示。

感谢@IQAndreas指出解决方案。