4

テキストファイルでラテン語に加えて文字セットを使用する場合(たとえば、キリル文字とラテン語を混合する場合)、通常、エンコードにはutf-16を選択します。このようにして、OSXでemacsまたはTextEditを使用してファイルを編集できます。

しかし、その後、emacsのediffは機能しなくなります。「バイナリファイルはこれとそれが違う」とだけ書かれています。

どういうわけか、外国文字を含むテキストファイルでediffを機能させることができますか?

4

2 に答える 2

5

変数をカスタマイズしediff-diff-options、オプションを追加します--text

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

編集:

diffEdiffは、違いを計算するために外部プログラムであるGNUユーティリティを呼び出します。ただし、diffUnicodeを理解せず、Unicodeでエンコードされたファイルをバイナリファイルと見なします。オプション「--text」は、入力ファイルをテキストファイルとして扱うように強制するだけです。GNU Diffutils:ファイルの比較とマージのマニュアルを参照してください。特に1.7バイナリファイルと強制テキスト比較

于 2012-05-08T19:30:54.417 に答える
0

utf-16の代わりにutf-8を使用することを強くお勧めします。utf-8は、Mac OS Xを含むほとんどのUnixの世界で標準のエンコーディングであり、これらの問題の影響を受けません。

于 2012-05-10T02:08:39.657 に答える