Emacs 自动将 BOM 添加到 XML 文件

Emacs 自动将 BOM 添加到 XML 文件

这似乎与这次讨论但我有完全相反的用例。我不想插入 BOM,但emacs似乎正在以 XML 模式插入 BOM(甚至不处于 状态hexl-mode)。我正在使用 GNU Emacs 23.3.1。

我有以下 XML 文件:

$ cat a.xml 
<?xml encoding="UTF-16"?><a/>
$ xxd a.xml 
0000000: 3c3f 786d 6c20 656e 636f 6469 6e67 3d22  <?xml encoding="
0000010: 5554 462d 3136 223f 3e3c 612f 3e0a       UTF-16"?><a/>.

该文件确实不是可以看到,包含 BOM。当我尝试打开它时,emacs a.xml我看到的是: 在此输入图像描述

当我切换到时,hexl-mode似乎已插入 BOM: 在此输入图像描述

即使我使用 启动 Emacs,也会发生这种情况emacs -Q

答案1

解决方案是使用 find-file-literally 加载文件。

答案2

使用此标签,emacs 会将 xml 文件保存为带有 bom 的 utf-16 big endian。

<?xml encoding="UTF-16"?>

Ascii 标签(来自 IANA 字符集):

<?xml encoding="US-ASCII">

相关内容