# Console下中文的显示与输入

## The_Last_Convert

大家好,

首先,我找了一圈,但没找到有关这个问题的帖子, 所以在此请教一下大家.

我用minimal CD装了Gentoo 2008.0, 由于我不想装Desktop, 所以一直在纯Console下操作. 虽然我的英文很好,但毕竟使用中要用到中文的文件等. 所以我希望能够在纯Console下显示与输入中文, 不知怎么实现? (我查了一下, 大家讲的大多是在某个Desktop Window中的实现方法, 并没有在纯Console下解决方法.) 谢谢.

Poe

----------

## druggo

emerge zhcon

----------

## The_Last_Convert

我已经安装了zhcon, 但仍无法输入中文(无法调出输入法). 不知还需要怎样的设置?

----------

## druggo

不用设置啊，按ctrl+space就出来了（全拼）。

----------

## The_Last_Convert

我已经试过了, 按ctl+space,但除了屏幕上一些乱码之外, 并没有出现输入法, 按键盘上, 出来的仍旧是英文.

----------

## jiangtao

可以试试 cce ，和 zhcon 差不多的东西。

----------

## SnEptUne

 *The_Last_Convert wrote:*   

> 我已經試過了, 按ctl+space,但除了屏幕上一些亂碼之外, 並沒有出現輸入法, 按鍵盤上, 出來的仍舊是英文.

 

```

export LANG="zh_TW/CN"

export LC_ALL="zh_TW/CN"

或

echo LINGUAS="zh_TW/CN" >> /etc/make.conf

echo LANG="zh_TW/CN" >> /etc/env.d/10lang

echo LC_ALL="zh_TW/CN" >> /etc/env.d/10lang

env-update && source /etc/profile

```

然後

```

unicode_start

zhcon

```

----------

## The_Last_Convert

谢谢SnEptUne. 我今晚就去试一下这个方法.

另: 按照上面的设置后岂不是变成了繁体中文? 有没有简体中文的设置格式(我当时已经设置过LC_ALL=zh_CN.GBK, LINGUS="zh en", make.conf 中设置了USE="cjk").

TO: jiangtao

我用emerge搜了CCE, 但现在的输入法似乎变成了jmcce了, emerge了一下, 但无法成功emerge上(具体出错信息我不记得了, 时间隔了蛮久的)

Poe

----------

## SeaTiger

SnEptUne的意思是用TW或是CN,如要繁体用:

```
export LANG="zh_TW"

export LC_ALL="zh_TW"

或

echo LINGUAS="zh_TW" >> /etc/make.conf

echo LANG="zh_TW" >> /etc/env.d/10lang

echo LC_ALL="zh_TW" >> /etc/env.d/10lang

env-update && source /etc/profile
```

要简体用:

```
export LANG="zh_CN"

export LC_ALL="zh_CN"

或

echo LINGUAS="zh_CN" >> /etc/make.conf

echo LANG="zh_CN" >> /etc/env.d/10lang

echo LC_ALL="zh_CN" >> /etc/env.d/10lang

env-update && source /etc/profile
```

----------

## The_Last_Convert

谢谢junksiu的解释.

还想问一下的是(在我用ctl + space 无法调出输入法的情况时): 

1. 我在/etc/env.d/里建了一个02locale的文件(根据handbook), LC_*都设成了zh_CN.GBK

2. make.conf 里LINGUAS设成了"en zh", USE增加了"cjk"(根据make.conf.example)

3. 启动zhcon直接输入zhcon, 按ctrl + space无法调出输入法, 显示为一个乱码

4. 补充说明一下: 我的整个系统环境设成了UTF-8编码环境

对比了一下SnEptUne给的方法(我还没试是不是行), 具体差别在如下几个方面:

1. 在/etc/env.d/里建了个10lang的文件, 而不是02locale, LC_*只设"zh_CN" 而不是特定的"zh_CN.GBK"等

2. make.conf里LINGUAS设成了"zh_CN"而不是光"zh"

3. 启动zhcon之前先输入命令unicode_start

如果SnEptUne的方法行的话, 问题点出在哪里? unicode_start这个命令是派什么用场的?谢谢.

Poe

----------

## The_Last_Convert

我已经试过了, 问题还是和以前的一样, 无法调出输入法.

由于emerge时, zhcon是在Testing的Branch里, 不知是不是由于和2008.0的兼容性不好而造成的?

Poe

----------

## SeaTiger

試試改成以下的:

/etc/env.d/02locale

```
LANG="zh_CN.UTF-8"
```

/etc/make.conf

```
LINGUAS="en en_US zh_CN"
```

由於不是USE flag,可能要手動刪除zhcon重裝

```
emerge --unmerge zhcon

emerge -av zhcon
```

----------

## The_Last_Convert

按照此方法已试了, 但问题依旧  :Crying or Very sad:   :Crying or Very sad: 

----------

## jojoyakira

 *The_Last_Convert wrote:*   

> 按照此方法已试了, 但问题依旧  

 

核心選項有開嗎？

```
grep NLS /usr/src/linux/.config
```

查查看是否有設定如CONFIG_NLS_UTF8, CONFIG_NLS_DEFAULT, CONFIG_NLS......等，必須開啟的語言選項。

----------

## r0bertz

 *jojoyakira wrote:*   

> 
> 
> ```
> grep NLS /usr/src/linux/.config
> ```
> ...

 

这几个选项只与vfat有关，与输入法无关

微软的文件系统内部保存文件名都是用的是internal encoding（等长unicode encoding）导出到用户层时（即mount）需指定用户层使用的字符集

----------

## jojoyakira

 *r0bertz wrote:*   

>  *jojoyakira wrote:*   
> 
> ```
> grep NLS /usr/src/linux/.config
> ```
> ...

 

小弟認識不清楚，感謝r0bertz指導！ 讓我有更進一步的認識。 :Very Happy: 

----------

## inweiyu

就我的理解，locale中zh_CN.GBK后面的gbk表示的就是系统内部字符流动的编码方式，既然你把locale设置成gbk，那你是如何把你的整个系统改成utf8的编码环境的呢？如果我没理解错的话，可能你编码环境设置出问题了

你安装的是什么输入法程序阿？如果不使用图形界面，是console里面自带的？ctrl＋space是用来触发中文输入法的快捷家，使用前应该先保证你已经打开了输入法软件吧，就像scim

 *The_Last_Convert wrote:*   

> 谢谢junksiu的解释.
> 
> 还想问一下的是(在我用ctl + space 无法调出输入法的情况时): 
> 
> 1. 我在/etc/env.d/里建了一个02locale的文件(根据handbook), LC_*都设成了zh_CN.GBK
> ...

 

----------

## The_Last_Convert

几天没来了, 呵呵, 谢谢大家的热心回复.

整个系统用UTF-8的默认编码方式我是compile kernel时设定的.

locale设置成GBK或是GB2312跟UTF-8是没冲突的, 因为UTF-8的编码方式就是为了解决多字节的文字显示/输入而修定的.(参考了文档), 所以我想问题不是出在我把locale设成了GBK的缘故(我也设了GB2312的, 但仍不行)(zhcon的config文件里只有GBK和GB2312的编码方式可选).

我装的是zhcon.  console里应该是不带输入法的吧?

另:我按ctl + space 当然是在执行了zhcon以后.

另:我现在还是没有解决此问题.

Poe

----------

## hosanna

这也是目前困扰我的一大问题！

在Zhon下可以调出全拼输入法，但一输入zhon就崩溃了,郁闷~

jmcce则是在编译libsvga时无法能过~~~

fbterm显然可以显示中文,但无法输入~

………………

 :Sad:   :Sad:   :Confused:   :Confused: 

mod edit: removed from report thread and merged to topic --bunder

----------

