查看當前文件編碼的命令:
M-x describe-code-system <RET> 默認是當前文檔的編碼設置.
此時會進入一個新的buffer窗口.顯示的內容大概是這樣:
Coding system for saving this buffer:
U -- utf-8-dos (alias: mule-utf-8-dos)
Default coding system (for new files):
c -- chinese-iso-8bit-dos (alias: cn-gb-2312-dos euc-china-dos euc-cn-dos cn-gb-dos gb2312-dos)
等.....
U=utf-8,代表當前緩衝區的字符編碼,
c=gb2312 代表新的buffer會使用gb2312字符編碼!
上面是文件編碼的保存和新建立,那麼讀取的時候呢,用過vim的都知道Vim讀取的文檔的時候會有一個字符編碼列表,
如果當前文檔編碼匹配某個字符編碼就使用它來解析文檔,文件不至於出現亂碼.Emacs也一樣.
以下是Emacs讀取文件的字符編碼順序設置.
Priority order for recognizing coding systems when reading files:
1. chinese-iso-8bit (alias: cn-gb-2312 euc-china euc-cn cn-gb gb2312)
2. chinese-big5 (alias: big5 cn-big5 cp950)
3. iso-2022-cn (alias: chinese-iso-7bit)
4. utf-8 (alias: mule-utf-8)
5. iso-2022-7bit
6. iso-latin-1 (alias: iso-8859-1 latin-1)
7. iso-2022-8bit-ss2
8. emacs-mule
9. raw-text
10. iso-2022-jp (alias: junet)
11. in-is13194-devanagari (alias: devanagari)
12. utf-8-auto
13. utf-8-with-signature
14. utf-16
15. utf-16be-with-signature (alias: utf-16-be)
16. utf-16le-with-signature (alias: utf-16-le)
17. utf-16be
18. utf-16le
19. japanese-shift-jis (alias: shift_jis sjis)
20. undecided
以上就是讀取文檔的時候,解析buffer編碼的順序
編碼設置命令:
(setq default-buffer-file-coding-system 'utf-8) Default coding system (for new files) 默認buffer編碼是utf-8,(寫文件)
(prefer-coding-system 'utf-8) 指定文件編碼,此時buffer新建和讀取都默認是utf-8,也可以M-x prefer-coding-system 只執行一次
參考Emacs文檔:(詳細內容請查看Emacs文檔)
Specifying a Coding System for File Text
In cases where Emacs does not automatically choose the right coding system for a file's contents, you can use these commands to specify one:
C-x <RET> f coding <RET>Use coding system coding for saving or revisiting the visited file in the current buffer.C-x <RET> c coding <RET>Specify coding system coding for the immediately following command.
C-x <RET> r coding <RET>Revisit the current file using the coding system coding.
M-x recode-region <RET> right <RET> wrong <RET>Convert a region that was decoded using coding system wrong, decoding it using coding system right instead.
轉自:http://blog.csdn.net/alivio/article/details/6897808