LinuxSir.cn,穿越时空的Linuxsir!

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

请教一个locale怪问题

[复制链接]
发表于 2006-3-17 09:12:19 | 显示全部楼层 |阅读模式
我发现我的locale只能设为utf8(我说的是 LANG和LC_CTYPE),如果不是,那么我的gnome-terminal都不能正常显示中文,尝试了LANG和LC_CTYPE的各种组合都如此。据称是因为gnome的默认locale为utf8,那么如何设置呢?大家知道如果我的LC_CTYPE是utf8的话,将会导致无穷无尽的兼容问题,像ftp的 server 或者 client(gftp).谢谢!希望有人和我一样为此问题付出巨大代价的人能伸出援手
发表于 2006-3-17 09:32:26 | 显示全部楼层
我没有“为此问题付出巨大代价”,我估计你的问题是因为你没有注意大小写。看清楚资料。
回复 支持 反对

使用道具 举报

发表于 2006-3-17 09:39:43 | 显示全部楼层
locale 是 locale charmap 是 charmap. zh_CN.GB2312前半部分是locale后半部分是charmap. 大小写你最好分清楚.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-17 09:53:33 | 显示全部楼层
这个。。。locale分大小写???
我是将LC_CTYPE改为zh_CN.GB2312了,但是还是一样啊?locale -a不就是小写?这个也有问题???可以贴个locale来看看?我现在改了后是
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB2312
其他的都为en_US.UTF-8
LC_ALL为空,谢谢!
回复 支持 反对

使用道具 举报

发表于 2006-3-17 09:55:06 | 显示全部楼层
dpkg-reconfigure locales
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-17 10:08:44 | 显示全部楼层
I'm sure,I know that . But what do you want to say. Change the locale by system rather than by hand? And then what about the var LC_CTYPE? 我说过了,我已经尝试了各种搭配。我的locael -a的结果是:
C
en_US
en_US.iso88591
POSIX
zh_CN
zh_CN.gb2312
zh_CN.utf8

zh_CN.gdk因为我不用很偏的字,所以我不想加入这么一个超大的字符集,但是我的LANG 和LC_CTYPE该如何设置?大家别误会,我说的是gnome的模拟终端在LC_CTYPE=zh_CN或者zh_CN.GB2312时不能显示中文,而不是控制台,我没有安装过zhcon或者其他的中文控制平台!
回复 支持 反对

使用道具 举报

发表于 2006-3-17 19:34:41 | 显示全部楼层
楼主的问题不清楚,
“gnome-terminal都不能正常显示中文”
是它的界面(如菜单)不能显示中文?
是在其中列目录时中文文件名目录名显示不正常?
是在其中使用命令的提示显示中文不正常?
最好把出错的屏幕给个图,不用说大家都能看明白,比如你的文件名是UTF-8编码的,如果不设置成UTF-8,怎么可能显示正常?????!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-20 21:34:33 | 显示全部楼层
这样说好了,我的意思是gnome-terminal 在访问中文目录或者中文文件名甚至内容为中文但是文件名还是En的文件,都不能正常显示.我发现我的系统由于custom安装的,系统起动后并没有加载nls_cp93这个模块,会是这个原因吗?但是modprobe之后,也没有什么改变,难道一定要系统自动加载,可是???我不会呀!我今天把我的本本装了一个FC4,发现就没有这个问题(当然系统加载了nls_cp936这个模块的,会是这个原因???)。另外楼上说文件名的 code编码,这个我认为应该是系统的事情,根据我的文件的内容决定采用那种编码.我是在FC下 file不同的文件得出的结论(比如中文文件名中文内容的文件编码是ISO-8859 text,En文件名但是是中文内容的 PARIX,全En的当然就是ascii).我被这个问题烦恼了好久,有好心人赐教?告诉我是却什么必要的包或者模块也行!谢谢所有楼上的回帖
回复 支持 反对

使用道具 举报

发表于 2006-3-21 08:37:56 | 显示全部楼层
我的locale是zh_CN.UTF-8一直用得很好,没有“为此问题付出巨大代价”。
  1. ~ $ cat /etc/environment
  2. LANGUAGE="zh_CN:zh:en_US:en"
  3. LC_ALL=zh_CN.UTF-8
  4. LANG=zh_CN
  5. ~ $ locale
  6. LANG=zh_CN
  7. LANGUAGE=zh_CN:zh:en_US:en
  8. LC_CTYPE="zh_CN.UTF-8"
  9. LC_NUMERIC="zh_CN.UTF-8"
  10. LC_TIME="zh_CN.UTF-8"
  11. LC_COLLATE="zh_CN.UTF-8"
  12. LC_MONETARY="zh_CN.UTF-8"
  13. LC_MESSAGES="zh_CN.UTF-8"
  14. LC_PAPER="zh_CN.UTF-8"
  15. LC_NAME="zh_CN.UTF-8"
  16. LC_ADDRESS="zh_CN.UTF-8"
  17. LC_TELEPHONE="zh_CN.UTF-8"
  18. LC_MEASUREMENT="zh_CN.UTF-8"
  19. LC_IDENTIFICATION="zh_CN.UTF-8"
  20. LC_ALL=zh_CN.UTF-8
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 19:51:19 | 显示全部楼层
我知道LC_CTYPE=zh_CN.utf8就可以解决gnome-terminal显示的问题.但是你没有发现一些常用的软件在LC_CTYPE=zh_CN.utf8时会不能显示中文(比如gftp,xmms),而且最重要的事我需要在我的机子上配置服务器,如果用utf8的LC_CTYPE的话,win下登陆都是乱码。所以,我需要保证LC_CTYPE=zh_CN.gb2312或者zh_CN.gbk.而LANG的话就无所谓了,所以有人这样配置过吗?我真的很郁闷,如果有人不用gnome-terminal,请指教其他虚拟终端的配置
回复 支持 反对

使用道具 举报

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

本版积分规则

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