meld çıktıyı okunamayan alfabede gösteriyor (Japonca / Çince?)


15

Ben iki dosya arasında bir fark görselleştirmek için meld kullanıyorum. meld fark çıktı gösterir ... Japonca veya Çince gibi bir şey?

Ne olabileceği hakkında bir fikrin var mı? Yerel bir sorun mu var? Garip olan, terminali kullanırken diffveya colordiffterminalde mükemmel çalışıyor olmalarıdır!

Teşekkürler!

Meld okunamayan çıktı gösteriyor


Bunu ben de aldım, git meld ile. İşin garibi, LOCAL / BASE / REMOTE dosyalarından yalnızca biri etkileniyor.
Ziv

Meld'e aşina değilim ama LC_ALL=C meldkomut satırından çalıştırmayı denemenizi ve sorunun devam edip etmediğini görmenizi öneririm .
Sergiy Kolodyazhnyy

Benim durumum aslında Windows-1252 kodlamasıydı ve burada olduğu gibi çözüldü -> stackoverflow.com/questions/38919384/…
eri0o

Yanıtlar:


19

Burada aynı sorun: Dosya kodlaması doğru algılanmadı.

Benim durumumda bunun nedeni meld'in "tespit kodlamaları" ayarları.

Şununla kontrol et:

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

Sadece utf8 tespit edildi.

Bu soruna geçici bir çözüm bulmak için ekleyin 'latin1'veya dosyanızı kodlayan herhangi bir şey varsa:

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

2

Son cevaba kısa bir eklenti:

[] Bölümüne tırnak eklemek zorunda kaldım:

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

Ubuntu'daki bir terminalde yürütme 16.04


3
Küçük bir düzeltme için cevap vermek yerine yayına bir düzenleme önermek daha iyi :)
Zanna

1
yorum yapamıyor, çok az puan doğru mu? :(
Kova Gücü

1

Bu bir kodlama sorunu olduğundan eminim. Terminaliniz muhtemelen UTF-8'de ve dosya ISO. Bu 16.04 gibi yeni bir sorun, bence 15.04'te de olabilir ama 12.04'te olmadığını doğrulayabilirim.

"Yerel ayar" yazarak meld çalıştırdığınız terminalinizi kontrol etmeyi deneyin. ve şöyle bir şey elde etmelisiniz:

$ 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=

Ardından, dosyalarınızın her biri için "dosya" yazın ve bunların terminalinize uyduğundan emin olun.

Bir yan notta, UTF-8 ve ISO arasında 16.04'te asla olmaması gereken bir dizi kodlama sorunu yaşıyorum.

Benim için işe yarayan her dosyada iconv çalıştırmaktı:

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
Yardımın için teşekkürler! fileKomut çok bilgilendirici değil. (sadece ASCII diyor). fromdosDönüştürmek için kullanmaya çalıştım ama yine de aynı çıktıyı aldım ... Başka bir komut deneyebilir miyim? Teşekkürler!
Matifou

ISO'dan utf-8'e dönüştürmek için her dosyada iconv kullandım ve her şey sihirli bir şekilde çalıştı. Garip çünkü ikisi arasında fark yaratan karakter yok.
badner

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.