Mac OS X 10.6.8での話です。
Emacs23.3(http://www.emacsformacosx.com/)
インストールして、M-x shellをすると、漢字のファイル名が見事に化けます。
色々調べて何とかなったので、ここにメモします。
1.Emacs側の設定
http://sakito.jp/emacs/emacsshell.html
にしたがって、~/.emacs.d/init.elに文字コードを指定。
(require 'ucs-normalize)
(set-language-environment "Japanese")
(setq file-name-coding-system 'utf-8-hfs)
(setq locale-coding-system 'utf-8-hfs)
(prefer-coding-system 'utf-8-hfs)
(setq default-buffer-file-coding-system 'utf-8-hfs)
(set-buffer-file-coding-system 'utf-8-hfs)
(set-terminal-coding-system 'utf-8-hfs)
(set-keyboard-coding-system 'utf-8-hfs)
(set-clipboard-coding-system 'utf-8-hfs)
2. Emacsから立ち上げたbashにLC_ALLが無いので追加
~/.MacOSX/environment.plist
というファイルを作成。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LANG</key>
<string>ja_JP.UTF-8</string>
</dict>
</plist>