![emacs 中的 utf-8 字符(仅在 term/ansi-term/multi-term 中)不会出现](https://linux22.com/image/1347479/emacs%20%E4%B8%AD%E7%9A%84%20utf-8%20%E5%AD%97%E7%AC%A6%EF%BC%88%E4%BB%85%E5%9C%A8%20term%2Fansi-term%2Fmulti-term%20%E4%B8%AD%EF%BC%89%E4%B8%8D%E4%BC%9A%E5%87%BA%E7%8E%B0.png)
我无论如何都无法让 utf-8 字符在 osx 上的 emacs 术语模式中正确显示。它们要么显示为空格,要么显示为“<00e3><0081><00af>”。我可以在文本缓冲区中正常查看它们。我的 .emacs 中有以下内容:
(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
我也尝试过切换字体,但无济于事。有人有什么建议吗?我在 Ubuntu 中使用相同的设置没有任何问题。这与我使用 zsh 有关吗?
答案1
尝试在 .zshenv 中设置这些值
export LANG='en_US.UTF-8'
export LC_ALL="en_US.UTF-8"
这可能是错误的来源,因为在 Linux 发行版中,正确的值使用小写的 utf(例如en_US.utf-8
)
要查看所有可用的语言环境,请使用locale -a