久しぶりにDebian系ディストリのインストールを行った。
その際、インストール初期に聞かれるLanguageの画面で”日本語”を選択し、インストールを完了させました。
次に、コンソールを利用したのですが、manを見れば文字化け、apt-get updateをすれば表示されるメッセージは文字化けと困った事に。
原因は、日本語でセットアップしたことにより、localeが以下のように設定されてしまうから。
→コンソールで、ja_JP.UTF-8の表示は基本的にまともにできない
(いまでもkonとかあるんだろうか → さがしたらkon2とかでてきますね)
~$ locale
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
$
前置きが長くなりましたが、この状態を回避しようというのが今回の内容です。
回避策
1.インストール初期のLanguageをEnglishにしてインストールし直す
時間が許せばこの方法が、一番ベストだと思います。
これでlocaleは、en_US.UTF-8あたりに設定されるので、基本的に文字化けしません。
※サーバ用途では、日本語による表示を必要としないのなら、不必要なパッケージのインストールを防ぐという観点から、これを特にお勧めします
2.コンソールにログイン後、環境変数を設定する
ログイン後、以下のコマンドを毎回実行してから作業を実施します。
※これが面倒な場合は下記の3.を試してください。
$ export LANG=C
3. 作業する$TERMにあわせて$LANGを自動的に選択させる
以下の記述を~/.bashrcあたりにすることによって、$TERMの種類により、ログインする環境にあわせた$LANGを設定する事ができます。
※コンソールはCの表示にし、それ以外(例えばxtermやWindows上のPuttyなど)は日本語での表示を可能にします
case $TERM in
linux)
LANG=C
;;
*)
LANG=ja_JP.UTF-8
;;
esac
export LANG
(備考)
Redhat系の場合、この3.と同様の設定が、Fedoraだと8あたりから、CentOSだと5から/etc/profile.d/lang.shとして用意されています
0 件のコメント:
コメントを投稿