Windows 7 64bit,在Eamcs的shell模式下,中文名的文件都是乱码,这个要怎么解决啊?使用git add的时候也不能正确识别。 试了许多网上的方法也没有效果。
1 个赞
看看 管不管用
(prefer-coding-system 'cp936) ;;默认使用cp936
(setq process-coding-system-alist (cons '("git" . (utf-8 . utf-8)) process-coding-system-alist));;对git 的输入输入的编辑使用utf-8
;; (setq process-coding-system-alist (cons '("grep" . (cp936 . cp936)) process-coding-system-alist));;对git 的输入输入的编辑使用utf-8
(setq process-coding-system-alist (cons '("bash" . (utf-8 . utf-8)) process-coding-system-alist));对bash 的输入输入的编辑使用cp936
(setq process-coding-system-alist (cons '("diff" . (cp936 . cp936)) process-coding-system-alist));对bash 的输入输入的编辑使用cp936
(set-file-name-coding-system 'cp936) ;;文件名的编辑 dired 中会用到
(setq-default buffer-file-coding-system 'utf-8) ;;buffer写文件时使用什么编码
;; 以下两个测试中。
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
不管用呢,还是显示乱码
我是 macOS 不知道有没有帮助。
你在 Emacs shell 里面通过 locale
看下 LANG=
是什么。
之前因为系统是英文,Emacs shell LANG=
就跟随系统英文了。改为 zh_CN.UTF-8 就好了
在命令行下要怎么看啊?怎么改?
你直接试试 (setenv "LANG" "zh_CN.UTF-8")
或者 (setenv "LC_ALL "zh_CN.UTF-8")
不管用呢,可能是windows的原因吧。
Windows 下难道不是 zh_CN.GB18030
?
我不认为是 Windows 的原因,以前在 XP/Vista 下使用 Emacs,印象中没有中文方面的问题。我觉得如果要验证一个问题,最好做一个最小配置,然后把所有操作都脚本化。只要把这个脚本贴出来,任何人都能运行/重现问题。
1 个赞
直接无配置运行就可以了,shell mode
下中文异常。
抱歉,刚又试了一下,无配置或者配置很少的情况下,shell mode
下可以正常显示中文,但是使用git
的时候出现乱码,不知道原因。