现在的位置: 首页 > 综合 > 正文

windows下Emacs中文乱码解决办法

2018年03月31日 ⁄ 综合 ⁄ 共 1425字 ⁄ 字号 评论关闭

转自http://blog.csdn.net/bbeikke/article/details/8629677

在.emacs文件中加入如下配置即可:

==================分割线 勿复制=========================

;; 编码设置 begin
(set-language-environment 'Chinese-GB)
;; default-buffer-file-coding-system变量在emacs23.2之后已被废弃,使用buffer-file-coding-system代替
(set-default buffer-file-coding-system 'utf-8-unix)
(set-default-coding-systems 'utf-8-unix)
(setq-default pathname-coding-system 'euc-cn)
(setq file-name-coding-system 'euc-cn)
;; 另外建议按下面的先后顺序来设置中文编码识别方式。
;; 重要提示:写在最后一行的,实际上最优先使用; 最前面一行,反而放到最后才识别。
;; utf-16le-with-signature 相当于 Windows 下的 Unicode 编码,这里也可写成
;; utf-16 (utf-16 实际上还细分为 utf-16le, utf-16be, utf-16le-with-signature等多种)
(prefer-coding-system 'cp950)
(prefer-coding-system 'gb2312)
(prefer-coding-system 'cp936)
;;(prefer-coding-system 'gb18030)
;(prefer-coding-system 'utf-16le-with-signature)
(prefer-coding-system 'utf-16)
;; 新建文件使用utf-8-unix方式
;; 如果不写下面两句,只写
;; (prefer-coding-system 'utf-8)
;; 这一句的话,新建文件以utf-8编码,行末结束符平台相关
(prefer-coding-system 'utf-8-dos)
(prefer-coding-system 'utf-8-unix)
;; 编码设置 end

==================分割线 勿复制=========================


说明:使用此配置,新建文件会采用UTF-8(无BOM)格式编码,行末以unix方式("\n")结尾,打开已有的文件,修改,保存还是按原有编码方式保存。

1、查看当前buffer的编码:M-x describe-coding-system
2、查看函数的帮助文档 C-h f func-name
3、查看某个值 C-h v value-name

参考:

http://forum.ubuntu.org.cn/viewtopic.php?f=68&t=382841
http://stackoverflow.com/questions/1674481/how-to-configure-gnu-emacs-to-write-unix-or-dos-formatted-files-by-default
http://www.gnu.org/software/emacs/manual/html_node/emacs/Output-Coding.html

抱歉!评论已关闭.