附件(3.5KB) emacs-26.1-zh-tips.2022-0913.zip# Emacs 26.1 Linux 版中,支持多种简体中文编码的设置技巧和验证
2022-9-13, Careone
## 1. 测试环境
* Emacs 26.1
* Debian 10.13
## 2. 主要测试内容
测试的4种中文编码格式(简体中文):
- gb2312
- gb18030
- utf-16 (大致对应 Windows 下的 Unicode 编码)
- utf-8
## 3. 主要测试参数
首先,清空 ~/.eamcs 配置文件的内容,然后再添加以下6行内容:
;;; ----------------
(set-language-environment 'Chinese-GB) ; Line 1
;(set-language-environment 'UTF-8) ; Line 2
(prefer-coding-system 'gb2312) ; Line 3
(prefer-coding-system 'gb18030) ; Line 4: Emacs 23 才开始支持 gb18030 中文编码
(prefer-coding-system 'utf-16) ; Line 5
(prefer-coding-system 'utf-8) ; Line 6
;;; ----------------
特别提示:
第1行和第2行参数,任选一种。
## 4. 测试效果
#### (*) 方案1:只启用第1行 (Chinese-GB)
- 解码正常:gb2312, gb18030, utf-8, utf-16
- 乱码文件:无
- Scratch (草稿文件) 默认编码:<u>*gb2312*</u>
#### (X) 方案2:只启用第2行 (UTF-8)
- 解码正常:utf-8, utf-16
- 乱码文件:gb2312, gb18030
- Scratch (草稿文件) 默认编码:utf-8
#### (*) 方案3:启用第1行 (Chinese-GB)), 以及后面全部3-6行。
- 解码正常:gb2312, gb18030, utf-8, utf-16
- 乱码文件:无
- Scratch (草稿文件) 默认编码:utf-8
#### (*) 方案4:启用第2行 (UTF-8), 以及后面全部3-6行。
- 解码正常:gb2312, gb18030, utf-8, utf-16
- 乱码文件:无
- Scratch (草稿文件) 默认编码:utf-8
#### (X) 方案5:禁用以上全部6行内容
- 解码正常:utf-8, utf-16
- 乱码文件:gb2312, gb18030
- Scratch (草稿文件) 默认编码:未指定
## 5. 测试总结
综上,在 Linux 下,Emacs 26.1 (提示:应该同样适用于较新的版本的 Emacs )
推荐的简体中文字符编码设置方案:方案3 或者 方案4 均可。
即:
- set-language-environment 指令的值,可以设定为 'Chinese-GB,也可以设为 'UTF-8
- prefer-coding-system 指令的值,建议依次设为 gb2312, gb18030, utf-16, utf-8
(特别强调:如果这几个编码的先后顺序改变,可能又会引起中文文字内容乱码!)
## 6. 附、相关的几个简体中文编码样例文件
文件内容:《千字文》简体版(节选)
- 10cn_utf8-unix_XEmacs21.4.24-BUG.txt
- 20cn_gb2312-dos.txt
- 30cn_gbk-dos.txt
- 40cn_gb18030-dos.txt
- 50cn_utf16-dos_XEmacs21.4.24-FAILED.txt
--
FROM 120.227.80.*