【问题标题】:Emacs Not Displaying Unicode on ReloadEmacs 重新加载时不显示 Unicode
【发布时间】:2013-07-06 06:20:33
【问题描述】:

当我在文本文件中插入一个 —(破折号)时,Emacs 最初会正常显示。当我重新加载 Emacs 时,所有 - 的实例都显示为 \342\200\224。

如何让 Emacs 像最初那样显示字符?我正在使用 Windows 7 和 Emacs 24.3.1。主要模式是“文本”,次要模式是“填充”。

【问题讨论】:

  • 模式行中的指标显示什么? (一开始它必须是 U,否则 Emacs 无法识别(或者可能甚至没有保存)该文件作为一些 Unicode 种类。在插入宽字符后尝试将其保存为 Unicode C-x C-m f (选择一些 Unicode 编码)C-x C-s.
  • C-x C-m 让我进入命令行。
  • 如果通过命令行你的意思是 minibufer,那么这就是预期的效果。然后您可以开始输入“utf”并按下TAB 以查看可能的完成选项。如果您更改了此绑定,或者您的终端对它的解释不同,您可以执行M-x set-buffer-file-coding-system - 这是同一件事。
  • 不,它实际上是在 Emacs 缓冲区中启动命令行。从我读过的内容来看,默认情况下 C-m 似乎是 RET 的别名。感谢您提供函数名称。
  • 是的,更准确地说,恰恰相反:RETC-m 的别名。我们的祖先对他们的键盘做了非常奇怪的使用......好吧,不管你怎么做,它都应该工作,C-x C-m f 似乎更容易,因为你不需要释放控制键/m 就在后面你的食指。

标签: windows emacs unicode utf


【解决方案1】:

尝试将其插入到您的初始化文件中。它应该确保 emacs 将文件保存为 Unicode(并在之后正确读取它们)。

;;;;;;;;;;;;;;;;;;;;
;;; set up unicode
(prefer-coding-system       'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)                      
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))

我相当肯定这些选项中的大多数都是不必要的,但在插入它们之后,我再也没有遇到编码问题。安全总比后悔好。 :-)

【讨论】:

    猜你喜欢
    • 2018-04-15
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2022-01-22
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    相关资源
    最近更新 更多