Ubuntu で文字コードを全部 UTF-8 で統一しているのに、
Emacs の dired が文字化けする現象に悩まされていた。
文字コードの設定を抜粋すると、以下の設定をしていた。
;;文字コード設定
(setq default-buffer-file-coding-system 'utf-8-unix)
(set-buffer-file-coding-system 'utf-8-unix)
(set-terminal-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'utf-8-unix)
(set-clipboard-coding-system 'utf-8-unix)
(prefer-coding-system 'utf-8-unix)
(set-language-environment 'utf-8)
(set-default-coding-systems 'utf-8-unix)
(set-language-environment "Japanese")
(setq locale-coding-system 'utf-8)
;;dired文字コードの設定
(setq dired-default-file-coding-system 'utf-8-unix)
結果としては、以下をコメントアウトしたら直った。
; (set-language-environment "Japanese")
上記の設定があると、なぜか dired のバッファが EUC-JP で開かれるようだ。
うーん、謎。
どっかで日本語環境は EUC-JP っていう設定をしてるのか?