LinuxSir.cn,穿越时空的Linuxsir!

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

关于gnome下控制台乱码的问题。

[复制链接]
发表于 2004-8-21 22:10:05 | 显示全部楼层 |阅读模式
每次用vim编辑完文件,退出vim的时候 就出现下面这种界面:
控制台被解码成看不懂的字符,再输入命令也都是乱码,不过能够执行。
用clear命令也恢复不了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-8-21 23:27:40 | 显示全部楼层
是不是locate是问题?
我不清楚,关注!
发表于 2004-8-21 23:43:04 | 显示全部楼层

是不是?

如果我猜得没错的话,你应该是用的zh_CN.UTF-8(默认的区域设置)。
如果设为zh_CN.GBK或者en_US.UTF-8,那就一点问题都没有了。
不过,GBK下,gedit读utf8文件又会崩溃,所以,建议用en_US.UTF-8
 楼主| 发表于 2004-8-22 00:23:33 | 显示全部楼层

回复: 是不是?

最初由 osfans 发表
如果我猜得没错的话,你应该是用的zh_CN.UTF-8(默认的区域设置)。
如果设为zh_CN.GBK或者en_US.UTF-8,那就一点问题都没有了。
不过,GBK下,gedit读utf8文件又会崩溃,所以,建议用en_US.UTF-8


你的判断是正确的,我很奇怪的也是这一点。我在init3模式下(或者进了gnome后按Ctrl+Alt+F6进入Console模式),执行locale是这样的结果:

root@smileonce:~# locale
LANG=zh_CN
LC_CTYPE="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_COLLATE="zh_CN"
LC_MONETARY="zh_CN"
LC_MESSAGES="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL=zh_CN
root@smileonce:~#

但是,在gnome里面启用终端,执行locale却是这样的结果:
root@smileonce:~# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_COLLATE="zh_CN"
LC_MONETARY="zh_CN"
LC_MESSAGES="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL=zh_CN
root@smileonce:~#

你说怪不怪?我所做过的对系统的改动有:
root@smileonce:~# cat /etc/profile.d/lang.sh
#!/bin/sh
# Set the system locale.  (no, we don't have a menu for this ;-)
# For a list of locales which are supported by this machine, type:
#   locale -a

# en_US is the Slackware default locale:
# export LANG=en_US
#
export LANG=zh_CN

# 'C' is the old Slackware (and UNIX) default, which is 127-bit
# ASCII with a charmap setting of ANSI_X3.4-1968.  These days,
# it's better to use en_US or another modern $LANG setting to
# support extended character sets.
#export LANG=C

# There is also support for UTF-8 locales, but be aware that
# some programs are not yet able to handle UTF-8 and will fail to
# run properly.  In those cases, you can set LANG=C before
# starting them.  Still, I'd avoid UTF unless you actually need it.
#export LANG=en_US.UTF-8

# Another option for en_US:
#export LANG=en_US.ISO8859-1

# One side effect of the newer locales is that the sort order
# is no longer according to ASCII values, so the sort order will
# change in many places.  Since this isn't usually expected and
# can break scripts, we'll stick with traditional ASCII sorting.
# If you'd prefer the sort algorithm that goes with your $LANG
# setting, comment this out.
export LC_COLLATE=C

# End of /etc/profile.d/lang.sh

root@smileonce:~#


还有这个
root@smileonce:~# cat ~/.profile
#LOCALE setup
export LANG=zh_CN
export LC_ALL=zh_CN
root@smileonce:~#


不知道有没有问题。


我不知道怎么处理了。
发表于 2004-8-22 00:50:12 | 显示全部楼层

改/etc/X11/gdm/locale.alias

把其中的zh_CN.UTF-8改成zh_CN.GBK

然后gdm时再次选择简体中文。
 楼主| 发表于 2004-8-22 01:12:02 | 显示全部楼层

回复: 改/etc/X11/gdm/locale.alias

最初由 osfans 发表
把其中的zh_CN.UTF-8改成zh_CN.GBK

然后gdm时再次选择简体中文。


按照你说的做了,locale时是变成zh_CN.GBK了,可是终端使用vim退出时显示乱码的问题还是没有解决。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2004-8-22 02:28:10 | 显示全部楼层
我怀疑是vim的问题,是不是vim退出时把某些字符编码给改变了?

但是我在乱码的命令行上,把locale > a.txt copy 上,之后,重启控制台, cat a.txt, 发现还是:

lroot@smileonce:~# cat a.txt
LANG=zh_CN.GBK
LC_CTYPE="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_COLLATE="zh_CN"
LC_MONETARY="zh_CN"
LC_MESSAGES="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL=zh_CN


不明白为什么,甚是郁闷。
 楼主| 发表于 2004-8-22 02:29:46 | 显示全部楼层
郁闷ing ~~~~
发表于 2004-8-22 02:45:28 | 显示全部楼层
可以用就将就点吧,没有完美的系统的
 楼主| 发表于 2004-8-22 04:03:35 | 显示全部楼层
最初由 zonzi 发表
可以用就将就点吧,没有完美的系统的


关键是每次编写一个文件,如果需要退出vim的话,就需要把当前的终端关掉,再开一个终端,很难受的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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