emacs-coding-system经验

在windows使用emacs经常会遇到中文显示的问题,折腾很久,对中文显示问题有了一些经验。 我的emacs配置默认utf-8

  1. 如果遇到 %E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6,可以尝试执行下面语句:
   #+BEGIN_SRC emacs-lisp
   (decode-coding-string (dnd-unescape-uri "%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6") 'utf-8)   
   #+END_SRC

执行结果:“测试文件”

  1. 如果遇到+数字,如下图: 我一般临时改变一下coding-system,由utf-8变成gbk。等命令执行后,然后再将coding-system变为utf-8。
   #+BEGIN_SRC emacs-lisp
  (let* ((coding (prefer-coding-system 'gbk)))
    (xx)
    (prefer-coding-system 'utf-8))   
   #+END_SRC

在windwos使用emacs遇到与我一样的中文显示问题,可以尝试一下。

2 个赞

我在windows试过执行counsel-rg或fd命令等前先执行 (prefer-coding-system 'gbk)以方便搜索中文,中文搜索完了换回来 (prefer-coding-system 'utf-8),开始还正常工作,多用几次就不知道是什么问题,emacs开始乱码和卡,然后就放弃临时改变系统编码这招了