我有一个 git 存储库,其中包含我的 .bashrc 以及以下内容:
\n\n...\nPROMPT_DIRTY=" \\[\\033[1;31m\\]\xe2\x9c\x97\\[\\033[0m\\]"\nPROMPT_CLEAN=" \\[\\033[1;32m\\]\xe2\x9c\x93\\[\\033[0m\\]"\n...\nRun Code Online (Sandbox Code Playgroud)\n\n如果我在 Archlinux 发行版上克隆这个存储库,我会得到这个(上面的)输出。但是,如果我在 Debian(尝试了多个版本)或 FreeBSD 10.0 上克隆存储库,那么我将得到以下信息:
\n\n...\nPROMPT_DIRTY=" \\[\\033[1;31m\\]_\\[\\033[0m\\]"\nPROMPT_CLEAN=" \\[\\033[1;32m\\]_\\[\\033[0m\\]"\n...\nRun Code Online (Sandbox Code Playgroud)\n\n即特殊字符\xe2\x9c\x93 和\xe2\x9c\x97 被转换为下划线(_)。
\n\n有人知道为什么会发生这种情况吗?我想要原始的特殊非字母数字字符而不是下划线。
\n我使用 tmux 来查看 .bashrc 文件。问题在于 tmux 禁用了 UTF-8 支持。
根据联机帮助页,tmux 尝试通过查看字符串“UTF-8”的 LC_ALL、LC_CTYPE 和 LANG 环境变量来猜测 UTF-8 支持。您可以使用“-u”参数强制 tmux UTF-8 支持。
就我而言,尽管我的 LANG 环境变量设置为 UTF-8 语言环境,但 tmux 猜测错误。因此 tmux 无法识别“UTF-8”字符串,但在我使用“-u”标志调用 tmux 并因此强制支持 UTF-8 后,一切看起来都符合预期。
感谢@IQAndreas 指出解决方案。
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |