LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 896|回复: 2

为何中文在emacs中全部显示为方框呢?

[复制链接]
发表于 2006-4-26 05:31:29 | 显示全部楼层 |阅读模式
:ask
不是小弟不努力,小弟经过两天的努力,也查了不少资料,可就是没有搞定这个问题,所以只好上来麻烦各位,请帮忙回答,谢谢。
我的系统是VmWare上运行的RedHat AS4+Gnu Emacs,其中linux是选择全部安装的
登陆是图形中文界面
参考了http://www.linuxsir.cn/bbs/showt ... 以下几个设置
1: 在.emacs中一模一样按照上述教程的要求加入以下配置命令
[PHP]
;;emacs环境设置
;;整体环境设置
(set-language-environment 'Chinese-GB)
;;应该和输入有关系
(set-keyboard-coding-system 'chinese-iso-8bit-with-esc)
;;终端下emacs的中文设置?
(set-terminal-coding-system 'chinese-iso-8bit-with-esc)
;;文件保存时的编码设置
(set-buffer-file-coding-system 'chinese-iso-8bit-with-esc)
;;下面两天是emacs和其他程序互相复制/粘贴的设置
;;在帖3(hvj-basicconfig.el)的最后一行中也有相关的一个设定
(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))
[/PHP]
2:我发现自己的~/目录下面,没有.Xdefaults文件,就新建了一个,其全部内容为
[PHP]
Emacs.Font:fontset-global
Emacs.Fontset-0:-*-*-medium-r-*-*-14-*-*-*-*-*-fontset-global,\
ascii:-*-fixed-medium-r-*-*-14-*-*-*-*-*-iso8859-*,\
chinese-gb2312:-*-tangti-medium-r-normal-*-14-*-*-*-*-*-gb2312.1980-0,\
chinese-big5-1:-*-tangti-medium-r-*-*-14-*-*-*-*-*-big5-0,\
chinese-big5-2:-*-tangti-medium-r-*-*-14-*-*-*-*-*-big5-0, \
utf-8:-misc-fixed-medium-r-*-*-14-*-*-*-*-*-iso10646-1, \
mule-utf-8:-misc-fixed-*-r-*-*-14-*-*-*-*-*-iso10646-1, \
mule-unicode-0100-24ff:-misc-fixed-*-r-*-*-14-*-*-*-*-*-iso10646-1, \
korean-ksc5601:-*-*-medium-r-normal-*-20-*-*-*-*-*-ksc5601*-*, \
sjis:-*-*-medium-r-normal-*-20-*-*-*-*-*-jisx0208*-*

[/PHP]
3:启动terminal,输入
[PHP]
export LANG=en_US
export LC_CTYPE=zh_CN
[/PHP]
然后输入emacs 启动emacs,发现在做了步骤3之后,还是无法显示中文,并且原本可以用CTRL+空格调出的输入法也无法调出。
如果是用emacs -nw启动emacs的化,输入法可以调出,并且可以正确显示中文。
我的问题是:
[color="Red"]我如何在emacs的正常模式下,可以正确的显示并且用系统的输入法进行中文操作?
我在terminal命令行中输入locale的返回结果是:
[PHP]
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=
[/PHP]
我无论在linux方面还是emacs方面都是新手,所以我尽可能的把问题描述的详细一点,请各位高人务必指点。谢谢
 楼主| 发表于 2006-4-26 14:09:01 | 显示全部楼层
不会吧,这样的问题放了快一天居然没有人肯回答我?不要这样啊,我快被这个问题折磨死了
回复 支持 反对

使用道具 举报

发表于 2006-4-26 14:28:36 | 显示全部楼层
Post by yinmingke
不会吧,这样的问题放了快一天居然没有人肯回答我?不要这样啊,我快被这个问题折磨死了

这个问题在这儿已经问过N次了,你自己找找应该可以找到答案。
不能显示是字体的问题,你的系统里面如果没有装唐体,你在 .Xresources 里面设置唐体也没有用,建议你在 .Xresources 文件里面写上:
Emacs*Font:fontset-standard
然后执行
xrdb .Xresources
再用 emacs -q 启动试试看能显示中文不能。一般的系统默认装了那个什么-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0之类的都可以正常显示,如果还不行,可以试着装一个字体例如文泉驿或者宋体之类的。
ps:我让你用 emacs -q启动是因为看不懂你.emacs里面写的那些那么多编码之类的是干什么用的,所以想用 -q 选项暂时跳过 .emacs 启动试试看。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表