meldは出力を読めないアルファベットで表示します(日本語/中国語?)


15

meldを使用して、2つのファイル間の差分を視覚化します。meldはdiff出力を表示します...日本語や中国語のようなものですか?

何が起こる可能性がありますか?ロケールの問題?奇妙なのは、ターミナルを使用するとき、diffまたはcolordiffターミナルで使用するとき、完全に機能することです!

ありがとう!

Meldは読み取り不可能な出力を示します


git meldを使用して、これも取得しました。奇妙なことに、LOCAL / BASE / REMOTEファイルの1つだけが影響を受けます。
ジブ

meldには慣れていませんがLC_ALL=C meld、コマンドラインから実行して問題が解決するかどうかを確認することをお勧めします。
セルギーKolodyazhnyy

私の場合は実際にはWindows-1252エンコーディングで、次のように解決しました-> stackoverflow.com/questions/38919384/…–
eri0o

回答:


18

ここで同じ問題:ファイルのエンコードが正しく検出されません。

私の場合、これはmeldの「detect-encodings」設定によるものです。

確認する:

$ gsettings get org.gnome.meld detect-encodings
['utf8']

utf8のみが検出されます。

この問題を回避'latin1'するには、ファイルのエンコードを追加します。

$ gsettings set org.gnome.meld detect-encodings "['utf8','latin1']"

2

最後の答えの短い拡張子:

[]部分に引用符を追加する必要がありました。

gsettings set org.gnome.meld detect-encodings "['utf8','latin1']"

Ubuntu 16.04のターミナルで実行する


3
小さな修正の答えを出すのではなく、投稿の編集を提案した方が良い:)
Zanna

1
彼はコメントできず、少なすぎる点でしょ?:(
Aquarius Power

1

これはエンコードの問題だと確信しています。端末はおそらくUTF-8であり、ファイルはISOです。これは、16.04の新しい問題であり、15.04でも発生する可能性があると思いますが、12.04では発生しないことを確認できます。

「ロケール」と入力して、meldを実行している端末を確認してください。そして、あなたはこのような何かを手に入れるべきです:

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

次に、各ファイルに「file」と入力し、端末と一致することを確認します。

余談ですが、UTF-8とISOの間では、16.04では実際に発生しないはずのエンコードの問題がいくつかありました。

私のために働いたのは、各ファイルでiconvを実行していました:

iconv -f ISO-8859-15 -t UTF-8 file_1.txt >file_1.tmp;
iconv -f ISO-8859-15 -t UTF-8 file_2.txt >file2.tmp;
mv file_1.tmp file_1.txt;
mv file_2.tmp file_2.txt;
meld file_1 file_2

1
ご協力いただきありがとうございます!fileコマンドは、非常に有益ではありません。(ASCIIとだけ言います)。私はfromdos変換に使用しようとしましたが、それでも同じ出力が得られます...別のコマンドを試してみるべきですか?ありがとう!
マティフォー

各ファイルでiconvを使用してISOからutf-8に変換し、すべてが魔法のように機能しました。奇妙なのは、2つの間に違いをもたらすべき文字がないからです。
バッド

コマンドを回答に追加します
-badner
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.