文字エンコードの問題があるテキストファイル(母国語の字幕ファイル、ペルシャ語など)に頻繁に遭遇します。これらのファイルはWindows上で作成され、不適切なエンコード(ANSIのようです)で保存されます。
Windowsでは、Notepad ++を使用してエンコードをUTF-8に変換することで、次のように簡単に修正できます。
そして、読み取り可能な正しい結果は次のとおりです。
GNU / Linuxで同様のソリューションを探してみましたが、残念ながら提案されたソリューション(この質問など)は機能しません。何よりも、私は人々が提案するのiconv
を見てきましたrecode
が、これらのツールには運がありませんでした。以下を含む多くのコマンドをテストしましたが、すべて失敗しました。
$ 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
これらのどれも機能しませんでした!
Ubuntu-14.04を使用していますが、Notepad ++と同じように機能するシンプルなソリューション(GUIまたはCLI)を探しています。
「シンプル」であることの1つの重要な側面は、ユーザーがソースエンコーディングを決定する必要がないことです。むしろ、ソースエンコーディングはツールによって自動的に検出され、ターゲットエンコーディングのみがユーザーによって提供される必要があります。しかし、それにもかかわらず、ソースエンコーディングの提供を必要とする実用的なソリューションについても嬉しく思います。
別のソリューションを調べるためにテストケースが必要な場合は、このリンクから上記の例にアクセスできます。
iso-639
が、そのいずれかで利用可能であるように思えませんiconv
かrecode
。少なくとも、の出力には表示されませんiconv -l
。
vim
ませんでした。
vim '+set fileencoding=utf-8' '+wq' file.txt
。