分页: 1 / 1
Emacs显示中文 (已解决,谢谢)
发表于 : 2007-10-26 1:25
由 laxsong
最近在学习使用Emacs,感觉不错,不过在处理中文时遇到了一点问题。参照网上的信息,我配置了Emacs,它也能正常地显示和输入中文,但打开一些非Emacs编辑的中文时就会出现乱码。
我的系统用的是UTF8编码,而看Emacs的配置文件似乎采用的是GBK,现在是如何能让两者很好的兼容。
谢谢!
发表于 : 2007-10-26 13:59
由 zhangsong023
又是编码问题……,唉。
贴出你的编码配置。
实在不行,用Emacs23吧。
发表于 : 2007-10-27 16:12
由 laxsong
以下的一部分是放置在.emacs中的,另外在.Xdefaults还有几行关于字体的设置
(set-language-environment 'Chinese-GB)
(set-keyboard-coding-system 'chinese-iso-8bit-with-esc)
(set-terminal-coding-system 'chinese-iso-8bit-with-esc)
(set-buffer-file-coding-system 'chinese-iso-8bit-with-esc)
(set-selection-coding-system 'chinese-iso-8bit-with-esc)
(set-clipboard-coding-system 'chinese-iso-8bit-with-esc)
(modify-coding-system-alist 'process "*" 'chinese-iso-8bit-with-esc)
(setq default-process-coding-system '(chinese-iso-8bit-with-esc . chinese-iso-8bit-with-esc))
(setq-default pathname-coding-system 'chinese-iso-8bit-with-esc)
(setq font-encoding-alist
(append '(("MuleTibetan-0" (tibetan . 0))
("GB2312" (chinese-gb2312 . 0))
("JISX0208" (japanese-jisx0208 . 0))
("JISX0212" (japanese-jisx0212 . 0))
("VISCII" (vietnamese-viscii-lower . 0))
("KSC5601" (korean-ksc5601 . 0))
("MuleArabic-0" (arabic-digit . 0))
("MuleArabic-1" (arabic-1-column . 0))
("MuleArabic-2" (arabic-2-column . 0))) font-encoding-alist))
......;与其它相关的配置略去
(set-language-environment 'Chinese-GB)
这句话是否就决定了用EMACS来打开其它中文中档都是采用GB2312?我的系统采用的是UTF8编码。
谢谢
发表于 : 2007-10-27 21:38
由 zhangsong023
你的Emacs是从源安装的22版本么?
如果是:
把你上面的东西统统注释掉(不能保证乱码问题会被解决,因为Emacs22本身编码识别有缺陷),照我的经验,从源安装的22版已经配置好了编码。
如果你是21:
扔了吧,编码识别问题貎似没有可以接受的解决方法。
如果你是23:
Emacs23的编码识别已经很好了(我用过7月分编译的一个版本,由于scratch buffer的东东竟然一定要保存且无处设置,Google一下,发现大家都在恶心这个“新特性”,又换回了22),把你上面那一堆东东注释掉,应该就没有问题了。
发表于 : 2007-10-28 9:12
由 laxsong
我用的正是源里的Emacs22,把那段编码设置注释之后,果然问题得到了解决。
太感谢你了。
发表于 : 2007-11-13 23:50
由 forrid
unicad
发表于 : 2007-11-14 1:39
由 zhangsong023
看起来是我错了。
unicad是作自动编码检查的插件。试用了一下,感觉还是比较buggy的,比较小的文件检查能力偏弱,还有utf8有时会被搞成gbk。