将u2014,u2019等转换为UTF-8字符的功能

时间:2012-07-17 14:10:42

标签: emacs unicode encoding

当我从网页复制并粘贴到Emacs时,我经常最终得到的缓冲区看起来像这样:

Here\u2019s a practical example:

而不是:

Here’s a practical example:

我现在有两个不同的问题(但它们是相关的):

  1. 我应该如何配置Emacs,从现在开始,当我复制和粘贴时,我立即得到UTF-8字符而不是 \ uxxxx 转义?

  2. 如何转换所有以前保存过的文件以及包含伪造编码的文件?

  3. 是否已经有一个功能在我可以简单地调用的地方进行转换?

2 个答案:

答案 0 :(得分:2)

看来Emacs了解这些转义码。您可以将它们作为lisp字符串读取,并自动转换它们。希望这可以减少笨重。

C-M-% \(\\u[0-9A-Fa-f]\{4\}\) RET \,(read (concat "\"" \1 "\"")) RET

如果您不熟悉替换字符串中的\,,则可以使用它来评估任意lisp表达式。

答案 1 :(得分:0)

您需要指定 用于通过窗口系统将选择传送到其他程序和从其他程序传送选择的编码系统 根据 您用于文件的编码系统。

这是函数集选择编码系统,通常绑定到C-x RET x

我默认将文件设置为utf-8。 我遇到了和你一样的问题,直到我将复制粘贴的字体设置为utf-8。