less で日本語を表示したときの文字化けの直し方です。
less の日本語の文字化けのなおし方
less の文字コードを明示的に設定しよう!
セットアップしたばかりの初期のサーバーなど、less で日本語が文字化けするときがよくあります。
文字コードをうまく判別できていない事が原因であれば、下記のコマンドでだいたい治ります。
export LESSCHARSET=utf-8
このコマンドを、恒久的に適応されるよう、~/.bashrc に記載しておきましょう。
$ vim ~/.bashrc
# デフォルトの文字コードを設定
export LESSCHARSET=utf-8
/.bashrc の更新後、これを明示的に適応するときは、suorce コマンドで反映します。
$ source ~/.bashrc
shift-jis, euc-jp など日本語特有文字コードの場合
上記を行っても、shift-jis, euc-jp でエンコードされた日本語は、以前として文字化けしてしまいます。less はこのようなエンコーディングに対応していません。
# Shift-JIS で書かれたファイル。
$ less sjis.txt
<93><FA><96>{<8C><EA><93><C1><97>L<95><B6><8E><9A><83>R<81>[<83>h<82>͕<B6><8E><9A><89><BB><82><AF><82><B5><82>₷<82><A2><82>̂ő????I<82><CC>
vim などで文字コードをutf-8 に変換してファイルを保存しなおしたり、nkf コマンド(参考)で変換すればよいのですが、それがいちいち手間な場合は、iconv コマンドが便利です。パイプで less に流し込みます。
# 直接 less に流し込みます
$ iconv -f SJIS sjis.txt -t utf-8 | less