CentOS 5.6 のEmacsで TeraTerm 経由でUTF-8の漢字が表示できない
という問題にはまって、はや数ヶ月。ひらがなだけができたりする点がまた微妙な漢字で不思議だった。あきらめて vi を使ってました。ネットを検索して、いろいろはまって、もうだめか、と諦めてました。
よくある記述は .emacs に以下を書けとのこと。
;; for japanese (set-language-environment "Japanese") (prefer-coding-system 'utf-8-unix) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8) (set-default-coding-systems 'utf-8) (setq default-buffer-file-coding-system 'utf-8)
でも、なぜかダメ。うーん。
結局、環境変数 LANG の問題、ということが判明。実はサーバインストールをしていたので、X 環境も無いし、英語でインストールしてたんですよね。。。
すなわち .profile などに
LANG=ja_JP.UTF-8 export LANG
と書けばOK.
まさか環境変数が問題だとは気づかず、マジに長期間はまってました。同じようなことにハマる人が出ないように、ここに書いておきます。
ちなみに、OSレベルでの変更は
/etc/sysconfig/i18n
を変更すればOK.