4

每当我在文本文件中使用除拉丁语之外的字符集(例如混合西里尔文和拉丁文)时,我通常选择 utf-16 进行编码。这样我可以在 OS X 下使用 emacs 或 TextEdit 编辑文件。

但是随后 emacs 中的 ediff 停止工作。它只说“二进制文件这个和那个不同”。

可以使 ediff 以某种方式处理包含外来字符的文本文件吗?

4

2 回答 2

5

自定义变量ediff-diff-options并添加选项--text

(setq ediff-diff-options "--text")

编辑:

Ediff 调用外部程序 GNU 实用程序diff来计算差异;但是,diff不理解 unicode,并将 unicode 编码文件视为二进制文件。选项“--text”只是强制它将输入文件视为文本文件。请参阅 GNU Diffutils 手册:比较和合并文件;特别是1.7 二进制文件和强制文本比较

于 2012-05-08T19:30:54.417 回答
0

我强烈建议您使用 utf-8 而不是 utf-16。utf-8 是大多数 Unix 世界的标准编码,包括 Mac OS X,它不会遇到这些问题。

于 2012-05-10T02:08:39.657 回答