58

我没有找到当前文件的编码,如何显示?

emacs

可以看到文件中有一些汉字,但不知道是什么编码。

有什么办法让它总是显示在 emacs GUI 上?

4

1 回答 1

98

您有几种方法来获取(和设置)缓冲区编码:

  • 您可以U在模式行中看到您的缓冲区是“Unicode”,如果您将鼠标放在它上面,它将在工具提示中显示当前缓冲区编码。

  • 您还可以通过以下方式查看当前编码C-hv buffer-file-coding-system RET

  • 您可以更改整个缓冲区编码以便下次保存C-xRETf

  • 您还可以更改检测到的编码以强制使用另一种编码并重新加载文件C-xRETr

  • 您只能为下一个 I/O 命令设置编码C-xRETc

  • 还有一些其他的可能,看看C-xRETC-h

修复和诊断:

  • 在缓冲区内,如果您对单个字符编码/详细信息感兴趣,请将点放在中文字符上,C-uC-x=这样会有所帮助。(同样没有C-u显示关于字符的一些信息,并且编码不是它的一部分。)
  • 自己检查文件:
    • 您可以打开文本文件而无需任何解码或启发式M-x find-file-literally
    • 或者你可以更接近金属(十六进制编辑器)M-x hexl-find-file
  • 如果文件是混合编码的混乱,你可以修复部分M-x recode-region
于 2012-05-08T14:45:28.557 回答