coding-system设置为utf-8后, 有的org文件不能显示中文

emacs启动后,
中文在有的org文件中能够正确显示, 有的不能

不能显示的buffer:

能够显示的buffer
Screenshot%20from%202019-05-29%2007-14-50

两个文件是同一个emacs下的两个不同的buffer.

init.el中的设置

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;Coding system
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
;; backwards compatibility as default-buffer-file-coding-system
;; is deprecated in 23.2.
(if (boundp 'buffer-file-coding-system)
    (setq-default buffer-file-coding-system 'utf-8)
  (setq default-buffer-file-coding-system 'utf-8))

;; Treat clipboard input as UTF-8 string first; compound text next, etc.
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))

怎样解决这个问题?

因为不能显示的buffer本来就不是utf-8编码,怎么可能你设置了utf-8就能不乱码呢

M-x revert-buffer-with-coding-system RET gbk RET

2 个赞