+ -
当前位置:首页 → 问答吧 → 关于gnome下控制台乱码的问题。

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

时间:2004-08-22

来源:互联网

每次用vim编辑完文件,退出vim的时候 就出现下面这种界面:
控制台被解码成看不懂的字符,再输入命令也都是乱码,不过能够执行。
用clear命令也恢复不了。
上传的图像
2.gif (83.9 KB, 91 次查看)

作者: SmileOnce   发布时间: 2004-08-22

是不是locate是问题?
我不清楚,关注!

作者: babo   发布时间: 2004-08-22

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

作者: osfans   发布时间: 2004-08-22

引用:
最初由 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:~#


不知道有没有问题。


我不知道怎么处理了。

作者: SmileOnce   发布时间: 2004-08-22

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

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

作者: osfans   发布时间: 2004-08-22

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

然后gdm时再次选择简体中文。
按照你说的做了,locale时是变成zh_CN.GBK了,可是终端使用vim退出时显示乱码的问题还是没有解决。
上传的图像
1.png (22.4 KB, 70 次查看)

作者: SmileOnce   发布时间: 2004-08-22

我怀疑是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


不明白为什么,甚是郁闷。

作者: SmileOnce   发布时间: 2004-08-22

郁闷ing ~~~~

作者: SmileOnce   发布时间: 2004-08-22

可以用就将就点吧,没有完美的系统的

作者: zonzi   发布时间: 2004-08-22

引用:
最初由 zonzi 发表
可以用就将就点吧,没有完美的系统的
关键是每次编写一个文件,如果需要退出vim的话,就需要把当前的终端关掉,再开一个终端,很难受的。

作者: SmileOnce   发布时间: 2004-08-22

既然在x下,那么就用gedit之类的编辑器吧

作者: zonzi   发布时间: 2004-08-22

:(:(:(:(:(

作者: SmileOnce   发布时间: 2004-08-22

能不能解决问题?

作者: osfans   发布时间: 2004-08-22

看看 .bash_profile, .bashrc里面有没有相应的设置,另外 .vimrc会不会改变locale?

作者: windrose   发布时间: 2004-08-22

我的~/下面没有这三个文件。只有下面这些:
. .gconfd .mailcap .themes
.. .gftp .mcop .thumbnails
.AbiSuite .gnome .metacity .totem.root
.bash_history .gnome2 .mozilla .Trash
.bmp .gnome2_private .nautilus .Xauthority
.dmrc .gstreamer-0.8 .ntrc_2 .xine
.esd_auth .gtkrc-1.2-gnome2 .profile .xinitrc
.face .ICEauthority .qt .xmms
.fonts.cache-1 .icons .realplayerrc .xsession-errors
.gaim .java .recently-used
.galeon .kde .scim
.gconf .lumaqq .smb

作者: SmileOnce   发布时间: 2004-08-25

LOCALE为zh_CN(.GB2312)和zh_CN.UTF-8会出现乱码
反过来说,只有GBK不会有乱码。
引用:
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
上面一句改为export LANG=zh_CN.GBK
引用:
root@smileonce:~# cat ~/.profile
#LOCALE setup
export LANG=zh_CN
export LC_ALL=zh_CN
这个文件删掉,
这样才能保证是GBK

作者: osfans   发布时间: 2004-08-25

引用:
最初由 osfans 发表
LOCALE为zh_CN(.GB2312)和zh_CN.UTF-8会出现乱码
反过来说,只有GBK不会有乱码。
LOCALE为zh_CN(.GB2312)和zh_CN.UTF-8会出现乱码
反过来说,只有GBK不会有乱码。

引用:
quote: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
上面一句改为export LANG=zh_CN.GBK
引用:
root@smileonce:~# cat ~/.profile
#LOCALE setup
export LANG=zh_CN
export LC_ALL=zh_CN
这个文件删掉,
这样才能保证是GBK

问题解决了,非常感谢osfans朋友的解答。也感谢其他朋友的热心参与

作者: SmileOnce   发布时间: 2004-08-25

GBK下有一点不爽,就是gedit打开UTF8的文件会崩。

作者: osfans   发布时间: 2004-08-25

我这里还行,gedit没有崩。就是有时候多个galeon中有一个死掉了,其他全玩完,得kill掉才行。

作者: SmileOnce   发布时间: 2004-08-25

逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横网络bbs多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢侬!在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!我知道无论用多么华丽的辞藻来形容楼主您帖子的精彩程度都是不够的,都是虚伪的,所以我只想说一句:您的帖子太好看了!我愿意一辈子的看下去!这篇帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范。就小说艺术的角度而言,这篇帖子不算太成功,但它的实验意义却远远大于成功本身。正所谓:“一马奔腾,射雕引弓,天地都在我心中!”楼主真不愧为无厘界新一代的开山怪!本来我已经对这个社区失望了,觉得这个社区没有前途了,心里充满了悲哀。但是看了你的这个帖子,又让我对社区产生了希望。是你让我的心里重新燃起希望之火,是你让我的心死灰复燃,是你拯救了我一颗拨凉拨凉的心!本来我决定不会在社区回任何帖子了,但是看了你的帖子,我告诉自己这个帖子是一定要回的!这是百年难得一见的好贴啊!苍天有眼啊,让我在有生之年得以观得如此精彩绝伦的帖子!

作者: 小力力力   发布时间: 2004-08-26