+ -
当前位置:首页 → 问答吧 → [请教]有关在linux控制台界面下彻底搞定中文显示相关问题的详细方法

[请教]有关在linux控制台界面下彻底搞定中文显示相关问题的详细方法

时间:2007-08-21

来源:互联网

这个问题以前提过:但是因为我当时对gentoo了解不是很多,知道的也少,问的问题不清楚,现在总算知道自己想要什么:

我目前的环境就是纯gentoo控制台界面,没有桌面,完全没有,连X都没,这个界面在编译内核的时候我已经把内核里打入了frame支持。

我现在遇到了以下问题:

用linux下的mldonkey下下来的中文文件,在mldonkey在windows下的web界面里,看的出正常的中文,但是如果用windows XP下的flashfxp软件登录linux的ftp,再去看,就成了乱码,如果用flashfxp改乱码成中文,那么mldonkey的web界面里又变成乱码了。

所以我初步猜测两者的编码形式可能存在某些接口上的问题,原本我以为就算gentoo下的控制台没有任何能显示中文的设置,撑死就是gentoo下看中文是乱码,用windows下的ftp软件登录上去应该能看到正常中文的,结果现在的结果不是我设想的这样。

so,我现在需要一个详细的解决办法,解决gentoo下在控制台界面显示中文,对就显示就行了,不需要输入,不需要操作,并且,不至于出现这种gentoo和windows下的中文互相看都是乱码的情况,我马上就要进一步搭建文件共享服务器了,预定是samba,这问题不解决那会很麻烦……请问具体操作方式谢谢

作者: abcbuzhiming   发布时间: 2007-08-21

问题是千变万化的
根本只有一个
搞清楚原来的信息是什么编码,软件把它当作什么编码,都一致就行了
除此之外,除非别人坐在你的机器前,否则他能帮你的,有限

作者: zhllg   发布时间: 2007-08-21

编码搞得鬼?
locale

作者: axlrose   发布时间: 2007-08-21

哦,那这样吧,麻烦各位先告诉我如何实现linux控制台下能显示中文的设置,显示就行,不干别的,然后我再尝试解决别的

作者: abcbuzhiming   发布时间: 2007-08-21

引用:
作者: abcbuzhiming
哦,那这样吧,麻烦各位先告诉我如何实现linux控制台下能显示中文的设置,显示就行,不干别的,然后我再尝试解决别的
这是我的locale:
引用:
LANG=en_US.utf8
LC_CTYPE=zh_CN.utf8
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
然后 emerge zhcon

最后 #zhcon --utf8


觉得没什么呀,不明白楼主为何有此一问?

作者: nainaide   发布时间: 2007-08-21

楼上,非要装zhcon不可吗?我仅仅是要显示,不需要输入

作者: abcbuzhiming   发布时间: 2007-08-21

引用:
作者: abcbuzhiming
楼上,非要装zhcon不可吗?我仅仅是要显示,不需要输入
我以前时实现过只显示中文,记得我是按照下面这篇文章做的,不过我不知道windows xp用的是不是utf8,Vista应该是。

http://gentoo-wiki.com/HOWTO_Make_yo..._unicode/utf-8

作者: nainaide   发布时间: 2007-08-21

如果不想依靠zhcon或cce之类的东西来达到console显示中文的话,那么应该可以通过给内核打上unicode补丁达到,请查找一个论坛里sunmoon1997兄弟之前发过的文章,有提到过。

作者: xlwcat   发布时间: 2007-08-21

七楼提供的链接应该可以解决控制台中文显示的问题。但如果要在控制台输入中文,恐怕还是要装zhcon或是cce了。

作者: Kingo   发布时间: 2007-08-21

引用:
作者: nainaide
这是我的locale:


然后 emerge zhcon

最后 #zhcon --utf8


觉得没什么呀,不明白楼主为何有此一问?
请你等一会,好像有些概念我没有搞懂,我来说详细点,首先,我在/etc/locale.gen下没有发现
代码:
LANG=en_US.utf8
LC_CTYPE=zh_CN.utf8
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
这堆东西
第二就是,loacale.gen这东西到底是用来干什么的,我弄不明白,是把你说的这堆直接粘进去吗,好像无效啊……另外,考虑到linux和windows互访问题我就不打算用uft8了,打算用GB18030……编译内核的事情现在暂时不做,我想问一下难道以现有基础下不能显示中文吗?显示中文的整个过程到底要怎么做,怎么才能生效……?这部分资料,网上完全没有……

PS:刚才看老大的IRC会议纪要,都说要增加桌面文档翻译,我说各位高人,在你们搞桌面之前,先花点功夫补充一下gentoo的中文化,尤其是几种不同编码的设定问题好吗?这部分资料gentoo超级少……不好搞啊……

作者: abcbuzhiming   发布时间: 2007-08-21

localization guide已经在翻译计划中
http://www.gentoo.org/doc/en/guide-localization.xml
我说这位兄弟,你看过手册么?
手册里提到了这个本地化指引

作者: zhllg   发布时间: 2007-08-21

引用:
作者: zhllg
localization guide已经在翻译计划中
http://www.gentoo.org/doc/en/guide-localization.xml
我说这位兄弟,你看过手册么?
手册里提到了这个本地化指引
你如果说英文手册的,那我还真只能囧了……

作者: abcbuzhiming   发布时间: 2007-08-21

引用:
作者: abcbuzhiming
你如果说英文手册的,那我还真只能囧了……
真的很想帮你,你要是能读读版主推荐的文章,和我推荐的文章,做点实验,就能基本解决你的需要了,不过,要是读不明白,又着急,就只能用M$,没办法,linux从来都是慢功夫,吃时间。我能帮你的就这些了, 好运。

http://gentoo-wiki.com/TIP_Specifyin...needed_locales
http://gentoo-wiki.com/HOWTO_Create_...enabled_system

另外,windows xp对于 utf8的支持很好(好像缺省就是utf8)。不过,如果你有windows 2000/ windows 98 就麻烦了。

作者: nainaide   发布时间: 2007-08-21

loacale.gen这东西到底是用来干什么的?

默认情况下系统编译glibc时 ,会编译全世界的locale进系统,为了想要所需,通常在/etc/locale.gen 文件里添加如下:
en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312
只编译以上的locale,你系统已经编译好了,就无需再搞了.
用locale -a 看系统有的locale
用locale看系统现在用的locale
设定了locale后,字符界面有两种汉化,
1.zhcon
2.内核级别汉化

作者: 抽烟斗的狗   发布时间: 2007-08-21

我按照各位的指点设置了locale.gen以及locale,我这一系列工作都是在windows下用putty远程ssh上去搞定的,等搞定以后,我终于发现我在纯console下能正常显示中文了,把windows XP下的中文文件用ftp传上去也显示正常。当然此刻是在windows下用putty的ssh终端显示是正常的,但是奇怪的是我本地操作我那台gentoo,还是没法显示中文,还是乱码……这是怎么一回事呢?

作者: abcbuzhiming   发布时间: 2007-08-30

引用:
作者: abcbuzhiming
我按照各位的指点设置了locale.gen以及locale,我这一系列工作都是在windows下用putty远程ssh上去搞定的,等搞定以后,我终于发现我在纯console下能正常显示中文了,把windows XP下的中文文件用ftp传上去也显示正常。当然此刻是在windows下用putty的ssh终端显示是正常的,但是奇怪的是我本地操作我那台gentoo,还是没法显示中文,还是乱码……这是怎么一回事呢?
你没有好好看看前面几楼推荐的文章。

作者: acevery   发布时间: 2007-08-30

折腾来折腾去,就是一个locale的问题。
windows用 unicode16, 或者gb2312编码。
linux用utf8 编码。

linux登录没有办法看到中文,肯定的,内核不支持。
用putty也好,linux下能看到openssh登录,那是客户端支持中文,并且正确的解析了locale.

简单有效的解决方案,在服务器端设置locale为en_US.UTF-8。
Vista map network driver没有任何问题。 linux下的lftp, samba也工作正常。

作者: bookstack   发布时间: 2007-08-30

引用:
作者: nainaide
真的很想帮你,你要是能读读版主推荐的文章,和我推荐的文章,做点实验,就能基本解决你的需要了,不过,要是读不明白,又着急,就只能用M$,没办法,linux从来都是慢功夫,吃时间。我能帮你的就这些了, 好运。

http://gentoo-wiki.com/TIP_Specifyin...needed_locales
http://gentoo-wiki.com/HOWTO_Create_...enabled_system

另外,windows xp对于 utf8的支持很好(好像缺省就是utf8)。不过,如果你有windows 2000/ windows 98 就麻烦了。
如果我沒有記錯,NT內用ucs16(不知道big-endian,還是small-endian)。

難到沒有辦法在console看中文嗎?我的LANG="en_US.utf-8"

作者: mathfeel   发布时间: 2007-08-30

引用:
作者: nainaide
我以前时实现过只显示中文,记得我是按照下面这篇文章做的,不过我不知道windows xp用的是不是utf8,Vista应该是。

http://gentoo-wiki.com/HOWTO_Make_yo..._unicode/utf-8
我试了下 失败了 哪个启动脚本有点问题 改了之后 还是不能显示中文 怀疑字体的问题 不知道怎么设置 console的字体

作者: joyfun   发布时间: 2007-09-01

引用:
作者: joyfun
我试了下 失败了 哪个启动脚本有点问题 改了之后 还是不能显示中文 怀疑字体的问题 不知道怎么设置 console的字体
不要再为这件事情再浪费时间了。如果你还是要千方百计的弄懂,这有篇文章也许有点帮助。
http://linuxgazette.net/issue91/loozzr.html

作者: nainaide   发布时间: 2007-09-01

引用:
作者: nainaide
我以前时实现过只显示中文,记得我是按照下面这篇文章做的,不过我不知道windows xp用的是不是utf8,Vista应该是。

http://gentoo-wiki.com/HOWTO_Make_yo..._unicode/utf-8
我想问一下,如果只显示中文,unicode-start后面应该跟什么字体?我试了一下里面提到的terminus字体,中文还是不能显示。

作者: meteo   发布时间: 2007-09-02

热门下载

更多