emacs中的汉字-Windows上的无窗口系统

时间:2019-04-22 13:45:16

标签: emacs

我最近开始在Termux的Android上使用emacs。我的项目中包含一些汉字,这些汉字显示得很好。

Emacs in Termux

稍后在Windows的Emacs中打开同一文件时,我很失望地看到它们显示为\xxxx

Emacs on Windows

我不确定如何寻找解决方案,因为我不知道这是什么问题。

我发现与我的问题有关的唯一事情是:

Unicode characters in emacs term-mode

但这对我解决问题没有帮助。

1 个答案:

答案 0 :(得分:1)

通过查看模式行中的前几个字符,您可以了解发生了什么。在Termux中,它说DDU,但是在Windows中它是U。这三个字符代表:

  1. 键盘输入编码系统
  2. 终端输出的编码系统
  3. 缓冲区中文件的编码系统

D代表UTF-8,而M-x list-coding-systems代表各种DOS代码页。 (您可以使用\uxxxx找到它。所有这些都在the Mode Line section of the Emacs manual中进行了描述。)

因此,这意味着Emacs可以正确读取文件,但它认为终端无法显示中文字符,因此它使用M-x set-terminal-coding-system表示法作为后备。我不确定如何使它在Windows终端中正常运行,但是尝试将utf-8与{{1}}一起使用-可能就可以了。


顺便说一句,如果您将Emacs作为“正常” Windows应用程序而不是在终端上运行,则字符应自动正确显示,因此,如果存在阻止您执行此操作的特定问题,可能值得尝试修正它。