LinuxSir.cn,穿越时空的Linuxsir!

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

我的emacs显示utf8中文,一半中文,一半空心方框

[复制链接]
发表于 2007-10-25 17:15:45 | 显示全部楼层 |阅读模式
我的locale全是POSIX,在gnome下
不知为什么,出现此诡异情况。
而且print screen选择保存后就卡死,所以无法截图了。我也说清了。
发表于 2007-10-25 17:34:16 | 显示全部楼层
一般是字体问题
回复 支持 反对

使用道具 举报

发表于 2007-10-25 19:35:59 | 显示全部楼层
我的xterm 在locale设为UTF-8的情况下,也是中文与方框的混合,十分之八是汉字(在汉字的情况下都是正确的),十分之二是方框。
locale设为gbk更糟,汉字没有一个是正确的显示。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-25 20:52:48 | 显示全部楼层
如果是字体问题就不会有中文了吧?
回复 支持 反对

使用道具 举报

发表于 2007-10-25 21:51:28 | 显示全部楼层
Post by mascot
我的xterm 在locale设为UTF-8的情况下,也是中文与方框的混合,十分之八是汉字(在汉字的情况下都是正确的),十分之二是方框。
locale设为gbk更糟,汉字没有一个是正确的显示。


装 rxvt-unicode,urxvt调用
回复 支持 反对

使用道具 举报

发表于 2007-10-25 23:24:37 | 显示全部楼层
Post by LaoLiulaoliu
如果是字体问题就不会有中文了吧?

如果错误的使用了韩文或者日文字体,也可以显示中文
回复 支持 反对

使用道具 举报

发表于 2007-10-26 08:44:36 | 显示全部楼层
Post by zhllg
如果错误的使用了韩文或者日文字体,也可以显示中文

这就是emacs-23以前的版本内部编码不是utf-8的原因。emacs-22主要就是让emacs知道你的环境是中文。所以要把locale 设为zh_CN.UTF-8比较好。 在非中文locale下,有些中文字emacs可能认到日文字符集中,这样就选用日文字体显示,这种情况还是可以显示出一部分中文的。
emacs-23以前的版本内部编码很复杂,有兴趣可以看看源码
src/charset.c , src/charset.h , src/coding.c ,src/coding.h 这几个文件包含emacs的内部编码,与它自认为很高明的自动识别编码功能。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-26 12:46:34 | 显示全部楼层
这里恰巧有一段文字的显示是正常的,我想有没有日语基础都不会认为这和日语字体有关系。还是个难题!

如运动员的耐力好,速度差,往往占据领先跑的位置。但这对运动员的专项耐力和顽强的意志品质是个考验,因为领跑者化费的体能要比跟随者大得多,尤其在顶风的情况下。既要发挥自己的特长,持续地较高速度跑,又要防止后来者居上,想方设法随时要摆脱对手。

我用的是emacs22,masks是amd64。
那么我是否有必要变成~amd64重新编译一便,或者是把。。。
唉,怎样在gentoo下手动编译同emerge编译相同的来着?
回复 支持 反对

使用道具 举报

发表于 2007-10-26 13:28:25 | 显示全部楼层
查了点资料,彻底搞定! xterm可以完全正确地显示中文!配置如下:
locale是 zh_CN.UTF-8
~/.Xresources:
XTerm*VT100*font:-misc-simsun-medium-r-normal--*-*-*-*-*-*-iso10646-*

其实,我以前的配置一直是正确的,只是忘了在~/.xinitrc中加上:
xrdb -merge ~/.Xresources
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-26 14:11:13 | 显示全部楼层
那我呢?
我在网上看了些也试着改.emacs或者.Xdefaults。该了后字体效果确实有变,但还是有方框。
我看ubuntu上说emacs-cvs可以顺利解决这个问题,或者自己编译。
那我是否有必要emerge -C emacs && emerge emacs-cvs
或者是放到/var/tmp/portage下然后自己tar -zxvf然后make,make install吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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