Emacs显示中文 (已解决,谢谢)

Vim、Emacs配置和使用
回复
laxsong
帖子: 7
注册时间: 2006-04-15 17:34
送出感谢: 0
接收感谢: 0

Emacs显示中文 (已解决,谢谢)

#1

帖子 laxsong » 2007-10-26 1:25

最近在学习使用Emacs,感觉不错,不过在处理中文时遇到了一点问题。参照网上的信息,我配置了Emacs,它也能正常地显示和输入中文,但打开一些非Emacs编辑的中文时就会出现乱码。
我的系统用的是UTF8编码,而看Emacs的配置文件似乎采用的是GBK,现在是如何能让两者很好的兼容。
谢谢!
上次由 laxsong 在 2007-10-28 9:14,总共编辑 1 次。
zhangsong023
帖子: 768
注册时间: 2006-09-20 19:56
送出感谢: 0
接收感谢: 1 次

#2

帖子 zhangsong023 » 2007-10-26 13:59

又是编码问题……,唉。

贴出你的编码配置。

实在不行,用Emacs23吧。
laxsong
帖子: 7
注册时间: 2006-04-15 17:34
送出感谢: 0
接收感谢: 0

#3

帖子 laxsong » 2007-10-27 16:12

以下的一部分是放置在.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编码。
谢谢
zhangsong023
帖子: 768
注册时间: 2006-09-20 19:56
送出感谢: 0
接收感谢: 1 次

#4

帖子 zhangsong023 » 2007-10-27 21:38

你的Emacs是从源安装的22版本么?
如果是:
把你上面的东西统统注释掉(不能保证乱码问题会被解决,因为Emacs22本身编码识别有缺陷),照我的经验,从源安装的22版已经配置好了编码。
如果你是21:
扔了吧,编码识别问题貎似没有可以接受的解决方法。
如果你是23:
Emacs23的编码识别已经很好了(我用过7月分编译的一个版本,由于scratch buffer的东东竟然一定要保存且无处设置,Google一下,发现大家都在恶心这个“新特性”,又换回了22),把你上面那一堆东东注释掉,应该就没有问题了。
laxsong
帖子: 7
注册时间: 2006-04-15 17:34
送出感谢: 0
接收感谢: 0

#5

帖子 laxsong » 2007-10-28 9:12

我用的正是源里的Emacs22,把那段编码设置注释之后,果然问题得到了解决。

太感谢你了。
头像
forrid
帖子: 659
注册时间: 2007-04-23 17:40
送出感谢: 0
接收感谢: 0

#6

帖子 forrid » 2007-11-13 23:50

unicad

吾生也有涯,而知也无涯,以有涯随无涯,SB啊~~~~~~~~~~
zhangsong023
帖子: 768
注册时间: 2006-09-20 19:56
送出感谢: 0
接收感谢: 1 次

#7

帖子 zhangsong023 » 2007-11-14 1:39

看起来是我错了。

unicad是作自动编码检查的插件。试用了一下,感觉还是比较buggy的,比较小的文件检查能力偏弱,还有utf8有时会被搞成gbk。
回复

回到 “Vim和Emacs”