emacs 中的 utf-8 字符(仅在 term/ansi-term/multi-term 中)不会出现

emacs 中的 utf-8 字符(仅在 term/ansi-term/multi-term 中)不会出现

我无论如何都无法让 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

相关内容