emacs encoding
文章目录
编码错误处理
解决 windows,cmd,powershell 乱码
- 使用 M-x shell
- 然后 M-x set-language-environment, Chinese-GB
- 避免在 eshell 里面调用 cmd,以免卡死
局部文字乱码
- 使用 M-x recode-region
文件乱码
使用 M-x revert-buffer-with-coding-system
- 尝试找出正确的 coding-system
- 快捷键 Ctrl + x <Enter> r
使用 M-x set-buffer-file-coding-system
- 设置新的 file-coding-system
- 最后 保存文件 save-buffer
eshell 乱码
使用 M-x set-language-environment
- 参数:Chinese-GB, UTF-8, English
file local variable 防乱码
- 插入
-*- coding:utf-8 -*- emacs 命令:
- M-x : add-file-local-variable-prop-line
emacs 编码
buffer 中存在的文字,只要显示正常就行
更改或者说设置,编码
set-buffer-file-coding-system 此命令就已经设置成功,新的编码 虽然看起来没有任何变化
解析编码
或者说尝试,使用新的编码类型,来解析(翻译) 文件, revert-bufffer-with-coding-system
完成新编码,及保存新编码总过程
- revert-buffer-with-coding-system 找到合适编码
- set-buffer-with-coding-system 设定好上面选择的新编码
- C-x C-s, save-buffer 完成,保存
emacs shell 乱码
使用 set-buffer-process-coding-system
language-environment
参考: GNU Emacs Manual - Language Environments
- 读:在识别文本的时候起作用
- 写:它会设置默认创建文件的 encoding 编码格式
- 输入法:设置默认输入法
设置方法: M-x set-language-environment
与操作系统关联:
环境变量
- LC_ALL
- LANG
- LC_CTYPE
描述(查看帮助) language-environment: C-h L or M-x describe-language-environment
Locales
参考: https://www.gnu.org/software/emacs/manual/html_node/elisp/Locales.html
小的语言特性控制。
locale-coding-system
- stderr 的 decoding (在 X windows 上)
- 键盘输入
- 时间格式
- system-messages-locale
- system-time-locale
shell
| |
中文 windows 配置
参考: emacs 在shell下中文乱码解决方案_huaisu 的博客-CSDN博客
| |
文章作者
上次更新 2024-01-05 (b2a2a64)