Emacs編碼設置!

Emacs編碼設置!
2011-05-09 18:20

查看當前文件編碼的命令:

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章