我将要在emacs中打开很多不同编码(在我知道什么是编码之前)的txt文件。有时它们无法正确显示,但事实证明,只需要5秒钟的查找和替换通常就足以解决任何问题。为了尽量避免未来的麻烦,我想让所有在emacs中使用的文件都是utf-8编码。
有没有方法可以(1)强制emacs以utf-8编码显示文件和/或(2)始终将新的/或编辑过的文本文件保存为utf-8编码?我在我的.emacs
文件中有这个(当然,我是从其他地方复制来的)。我认为它们很容易理解。
(setq buffer-file-coding-system 'utf-8-unix)
(setq default-file-name-coding-system 'utf-8-unix)
(setq default-keyboard-coding-system 'utf-8-unix)
(setq default-process-coding-system '(utf-8-unix . utf-8-unix))
(setq default-sendmail-coding-system 'utf-8-unix)
(setq default-terminal-coding-system 'utf-8-unix)
尝试
(set-locale-environment "en_US.UTF-8")
其中"en"是语言代码,"US"是国家代码(影响纸张大小和其他一些事项)。有关更多详细信息,请参阅C-h fset-locale-environment
。
prefer-coding-system
,它将处理新文件。 - Juanchorevert-buffer-with-coding-system
(通常绑定到C-x RET r
)使用不同的编码重新打开它。 - Juanchoset-buffer-file-coding-system
命令(绑定快捷键为C-x RET f
)来更改当前缓冲区的编码。你可以在状态栏的第一个符号上检查当前的编码(1 表示 Latin-1,U 表示 UTF 等等)。 - Juancho