meld는 읽을 수없는 알파벳 (일본어 / 중국어)으로 출력을 표시합니다.


15

두 파일 사이의 차이점을 시각화하기 위해 meld를 사용하고 있습니다. meld는 diff 출력을 일본어 또는 중국어와 같이 표시합니까?

무슨 일이 일어날 지 아세요? 로케일 문제? 이상한 점은 터미널을 사용 diff하거나 colordiff터미널에서 사용할 때 완벽하게 작동한다는 것입니다!

감사!

Meld는 읽을 수없는 출력을 보여줍니다


나는 git meld와 함께 이것을 얻었습니다. 이상하게도 LOCAL / BASE / REMOTE 파일 중 하나만 영향을받습니다.
Ziv

meld에 익숙하지 않지만 LC_ALL=C meld커맨드 라인에서 실행하고 문제가 지속되는지 확인하는 것이 좋습니다 .
Sergiy Kolodyazhnyy

내 경우는 실제로 Windows-1252 인코딩이었고 여기에서 해결되었습니다-> stackoverflow.com/questions/38919384/…
eri0o

답변:


19

여기서 동일한 문제 : 파일 인코딩이 올바르게 감지되지 않습니다.

필자의 경우 이것은 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에없는 것을 확인할 수 있습니다.

"locale"을 입력하여 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"을 입력하고 터미널과 일치하는지 확인하십시오.

참고로 16.04에서는 절대 발생하지 않는 UTF-8과 ISO 사이에 많은 인코딩 문제가 발생했습니다.

나를 위해 일한 것은 각 파일에서 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변환 하는 데 사용하려고 했지만 여전히 같은 출력을 얻습니다 ... 다른 명령을 시도해야합니까? 감사!
Matifou

각 파일에서 iconv를 사용하여 ISO에서 utf-8로 변환했으며 모든 것이 마술처럼 작동했습니다. 둘 사이에 차이가있는 문자가 없기 때문에 이상합니다.
badner

나는 내 대답에 명령을 추가 할 것입니다
badner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.