2011年11月14日月曜日

仮想コンソールでの文字化けを何とかしたい

 仮想コンソールで日本語が文字化けするのを直すには、~/.bashrcに次を追記
case $TERM in
linux) LANG=C ;;
*) LANG=ja_JP.UTF-8 ;;
esac
で、次のコマンドを実行して適用。
source .bashrc 
これで、エンコードが英語になる。

→と思ったら、ログインし直すとまた□の嵐…どういう事…

追記:
bashの初期化の際に、~/.profileというファイルが環境設定として読み込まれるようです。
.profileを覗いてみると、.bashrcを読み込んでから、.profile自体に書かれた処理をするようなのですが、.bashrcを読み込んだあとに、
export LANG="ja_JP.UTF-8"
export LANGUAGE="ja:en_GB:en"
export LC_MESSAGES="ja_JP.UTF-8"
export LC_CTYPE="ja_JP.UTF-8"
export LC_COLLATE="ja_JP.UTF-8";;
とご丁寧に、.bashrcで設定したのを上書きしちゃってくれてます。
ってことで、.bashrcの方のLANG=Cの部分は消しちゃって、
case "$TERM" in
linux)
export LANG="C"
export LANGUAGE="C"
export LC_MESSAGES="C"
export LC_CTYPE="C"
export LC_COLLATE="C";;
*)
export LANG="ja_JP.UTF-8"
export LANGUAGE="ja:en_GB:en"
export LC_MESSAGES="ja_JP.UTF-8"
export LC_CTYPE="ja_JP.UTF-8"
export LC_COLLATE="ja_JP.UTF-8";;
esac
と追記すれば、仮想コンソールでは英語で、それ以外の分では日本語で、とできます。
解決解決。

参考にしたサイト
http://viva-ubuntu.com/?p=1707
(ML)
https://lists.ubuntu.com/archives/ubuntu-jp/2011-November/003934.html

0 件のコメント:

コメントを投稿