次のようにエンコードされたテキストファイルがありますfile
。
CRLF行終端を持つISO-8859テキスト
ファイルにはアクセント付きのフランス語のテキストが含まれています。私のシェルはアクセントを表示でき、emacs
コンソールモードで正しく表示されます。
私の問題は、ツールがファイルを正しく表示できないことmore
です。私はこれがツールがこの文字エンコーディングセットをサポートしていないことを意味すると思います。これは本当ですか?このツールはどの文字エンコーディングをサポートしますか?cat
less
ベストアンサー1
シェルはおそらくUTF-8を使用しているため、アクセントなどを表示できます。問題のファイルが別のエンコーディングになっており、less
more
UTFcat
で読み取ろうとすると失敗します。次のコマンドを使用して、現在のエンコーディングを確認できます。
echo $LANG
2つのオプションがあります。デフォルトのエンコーディングを変更したり、ファイルをUTF-8に変更したりできます。エンコードを変更するには、端末を開き、次のように入力します。
export LANG="fr_FR.ISO-8859"
たとえば、
$ echo $LANG
en_US.UTF-8
$ cat foo.txt
J'ai mal � la t�te, c'est chiant!
$ export LANG="fr_FR.ISO-8859"
$ xterm <-- open a new terminal
$ cat foo.txt
J'ai mal à la tête, c'est chiant!
あるいは、同様のものを使用する場合は、gnome-terminal
エンコードを有効にする必要があります。たとえば、terminator
右クリックして次のようにします。
のためgnome-terminal
:
他の(より良い)オプションは、ファイルのエンコーディングを変更することです。
$ cat foo.txt
J'ai mal � la t�te, c'est chiant!
$ iconv -f ISO-8859-1 -t UTF-8 foo.txt > bar.txt
$ cat bar.txt
J'ai mal à la tête, c'est chiant!