Emacs:当前缓冲区的编码系统

时间:2012-07-31 00:50:46

标签: emacs character-encoding

我习惯使用pc开发erlang程序,一个是mac os x 10.6,另一个是mac os x 10.7。

在两个pc的".emacs"文件中,它包含以下脚本

;;handle emacs utf-8 input
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

但是当我在一台电脑输入包含汉字的评论并保存,并下载到其他电脑。中文字符无法正确显示。反向操作也是如此。

我想知道如何检查当前文件的编码类型?有没有命令可以做到这一点?

3 个答案:

答案 0 :(得分:10)

我相信你正在寻找buffer-file-coding-systemM-x describe-variable会告诉您更多相关信息,您可以按M-x eval-expression设置并使用(setq buffer-file-coding-system 'coding-system-i-want)。这将把它设置为一个缓冲区;一旦你有了它,你就可以在file-coding-system-alist添加条目,永久地设置你想要的选项。

答案 1 :(得分:1)

您也可以设置

编码系统换写 编码系统换读

答案 2 :(得分:1)

要修改编码系统以便使用编码系统chinese-iso-8bit读取和写入所有'.txt'文件,您可以执行此Lisp表达式:

(modify-coding-system-alist 'file "\\.txt\\'" 'chinese-iso-8bit)

有关更多信息,请参阅Recognizing Coding Systems