自分の環境の文字コードが、Unixがメインだった頃のEUCとMS WindowsがメインのSJISで混在してしまっていることに気づいたので、個人の環境はUTF-8へ移行することにした。少し悩んだのですがMAC OS Xでも改行コードがLFになっているらしいので、改行コードもLFで統一します。*1
ただし、仕事環境ではSJISにしておかないと、他人とファイルのやりとりができなくなるので移行はしない*2。
で、最も重要なEmacsのUTF8化を行った。.emacsに追加したのは以下の記述です。
(set-language-environment "Japanese") (prefer-coding-system 'utf-8-unix) (set-default-coding-systems 'utf-8-unix) (set-terminal-coding-system 'utf-8-unix) (set-keyboard-coding-system 'shift_jis-unix) (set-buffer-file-coding-system 'utf-8-unix) (utf-translate-cjk-mode t)
はまったのが、Windows XPのATOKからの日本語入力が文字化けしてしまうことだった。いろいろ調べた結果、
(set-keyboard-coding-system 'shift_jis-unix)
と入力はSJISと設定することで解消することができた。
続けて、サブのテキストエディタのxyzzyも設定を変更した。
(setq *default-fileio-encoding* *encoding-utf8n*) (setq *default-eol-code* *eol-lf*)
xyzzyのutf8はBOMを付加するので、utf8nにする必要があるそうだ。