Karakter dosyaları ile sık sık metin dosyaları (anadilim, Farsça altyazı dosyaları gibi ) ile karşılaşıyorum. Bu dosyalar Windows'ta oluşturulur ve aşağıdaki gibi anlamsız ve okunamaz görünen uygun olmayan bir kodlama (ANSI gibi görünüyor) ile kaydedilir:
Windows'da, kodlamayı aşağıdaki gibi UTF-8'e dönüştürmek için Notepad ++ kullanarak kolayca düzeltebilirsiniz :
Doğru okunabilir sonuç şöyledir:
GNU / Linux'da benzer bir çözüm için çok şey aradım, ancak ne yazık ki önerilen çözümler (örneğin bu soru ) çalışmıyor. En önemlisi, insanların önerdiğini gördüm iconv
ve recode
bu araçlarla hiç şansım olmadı. Aşağıdakiler de dahil olmak üzere birçok komutu test ettim ve hepsi başarısız oldu:
$ recode ISO-8859-15..UTF8 file.txt
$ iconv -f ISO8859-15 -t UTF-8 file.txt > out.txt
$ iconv -f WINDOWS-1252 -t UTF-8 file.txt > out.txt
Bunların hiçbiri işe yaramadı!
Ubuntu-14.04 kullanıyorum ve Notepad ++ gibi çalışan basit bir çözüm (GUI veya CLI) arıyorum.
"Basit" olmanın önemli bir yönü , kullanıcının kaynak kodlamasını belirlemek zorunda olmamasıdır; bunun yerine kaynak kodlama araç tarafından otomatik olarak algılanmalı ve kullanıcı tarafından yalnızca hedef kodlama sağlanmalıdır. Ancak yine de, kaynak kodlamanın sağlanmasını gerektiren çalışan bir çözüm hakkında bilgi sahibi olmaktan memnuniyet duyacağım.
Birisinin farklı çözümleri incelemek için bir test senaryosuna ihtiyacı varsa, yukarıdaki örneğe bu bağlantıdan erişilebilir .
iso-639
ama bu da satışa sunulacak görünmüyor iconv
ya recode
. En azından çıkışında görmüyorum iconv -l
.
vim
ama işe yaramadı.
vim '+set fileencoding=utf-8' '+wq' file.txt
.