2010年11月11日木曜日

manコマンドで文字化け回避

どうも、俺@仕事中です。

今日はmanページを日本語環境で表示させた場合に文字化けしてしまう場合の対処法めもです。
たぶんmanページが文字化けする以外のシチュエーションでも使えそうな気がします。

例えば
$ locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
のような環境で
$ man less
LESS(1)

NAME
less - opposite of more

SYNOPSIS
less -?
less --help
less -V
less --version
less [-[+]aBcCdeEfFgGiIJLmMnNqQrRsSuUVwWX~]
[-b space] [-h lines] [-j line] [-k keyfile]
--- 以下略 ---
のようにまず問題なく表示されます。
ところが
$ locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=
のような場合にmanを見ると
$ man less
LESS(1)

<E5><ux><8D><E5><89><8D>
less - more <E3><81><AE><E5><8F><8D><E5><AF><BE> (more <E3><81><AE><E3><82><88><E3><81><86><E3><81><AA><E3><83><9A><E3><83><BC><E3><82><B8><E3><83><A3><E3><83><BC>)

<E6><9B><B8><E5><BC><8F>
less -?
less --help
less -V
less --version
--- 以下略 ---
のようになる場合があります。

こんな時は
$ export PAGER="less -irs"
とするかログインシェルの .xxrcファイルに設定しておけば万事解決です!


以上どえぇぇっぇぇす。

0 件のコメント: