如何指定新建文件的时候用utf8编码?

windows和linux都用。所以碰到比较蛋疼的问题是,windows上在其他程序新建的文本,编码是gbk的。linux上的是utf8的。 如果我直接(set-language-environment “UTF-8”),那么在出现在windows上打开中文文本乱码的问题。

emacs在widows上新建的文件用的编码也是gbk。

想问下,我只是想在新建一个文件的时候,让这个文件用utf8保存。打开文件的时候让emacs自己识别编码。

大佬们指导下改咋弄。

我加了 find-file-hook

(defun my-new-file-hook ()
  (unless (file-exists-p (file-truename buffer-file-name))
    (set-buffer-file-coding-system 'utf-8)))

(add-to-list 'find-file-hook #'my-new-file-hook)

我用 spacemacs,Windows下默认打开文件都是 utf-8,可以搜一下它的源码,看看怎么设置的。