我第一次发现这个问题是在使用auctex编译中文名tex文件的时候发现的,后来发现不仅仅是auctex,M-!执行shell命令中如果包含中文路径或文件名也失败,最后搜了一些资料测试了几种,发现了这个解决方案。

在emacs配置文件中增加如下一行:

(set-language-environment 'utf-8)

话说,测试了好几种方法才解决的,一高兴忘了记下出处。惭愧惭愧,谢谢那位我记不得的博主吧。


后记2013-08-14:

发现会影响vc-mode(svn1.8),导致提交中文修改纪录时报错:

emacs svn: E000022: Can't convert string from native encoding to 'UTF-8':

暂未处理,后续处理了再补在这里。