如何确保Emacs始终将编辑/创建的纯文本保存为UTF8?

7

我将要在emacs中打开很多不同编码(在我知道什么是编码之前)的txt文件。有时它们无法正确显示,但事实证明,只需要5秒钟的查找和替换通常就足以解决任何问题。为了尽量避免未来的麻烦,我想让所有在emacs中使用的文件都是utf-8编码。

有没有方法可以(1)强制emacs以utf-8编码显示文件和/或(2)始终将新的/或编辑过的文本文件保存为utf-8编码?

2
请查看命令prefer-coding-system,它将处理新文件。 - Juancho
2
如果打开文件时编码检测失败,您可以通过revert-buffer-with-coding-system(通常绑定到C-x RET r)使用不同的编码重新打开它。 - Juancho
3
为了用另一种编码保存当前打开的文件,可以使用 set-buffer-file-coding-system 命令(绑定快捷键为 C-x RET f)来更改当前缓冲区的编码。你可以在状态栏的第一个符号上检查当前的编码(1 表示 Latin-1,U 表示 UTF 等等)。 - Juancho
2个回答

4

我在我的.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)

3

尝试

(set-locale-environment "en_US.UTF-8")

其中"en"是语言代码,"US"是国家代码(影响纸张大小和其他一些事项)。有关更多详细信息,请参阅C-h fset-locale-environment


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接