Console下的英文环境

来源:互联网 发布:极光网络永恒纪元官网 编辑:程序博客网 时间:2024/06/08 12:26
P ALIGN="center">

Console下的英文环境

hanlray@gmail.com
Revision: 1.0 Date: 2006/05/03

当前的Linux在console下是无法支持中文的,要支持中文,要么装X,要么装zhcon之类的外挂中文平台,当两者都不可行时,我们就只有用英文环境了,但是如果在安装Linux时选择的语言是中文的话,在console下就会有乱码,这是由于此时的缺省locale已被设置为中文locale,在这种locale下各个命令/程序(当然是locale aware的程序)向console的输出是中文字符,而console是无法理解中文的,于是乱码就产生了;因此,只要把缺省的locale改成英文,就能避免乱码。

locale是由几个环境变量来设置的,每个变量设置locale的某个方面,比如LC_CTYPE设置字符分类及处理方式,LC_COLLATE设置字符顺序与字符串比较,等等。在大部分情况下我们对这些变量设置的值都是相同的,即使不相同也是少数的几个变量,这样逐个设置每个变量就很麻烦,于是就有了LC_ALL和LANG这两个变量,它们用来一次设置所有的LC变量,其区别在于:对于被直接赋值的LC变量(其值非通过LC_ALL/LANG间接设置,而是通过类似LC_MESSAGES=zh_CN.GB2312;export LC_MESSAGES的方式设置,可以通过查看其值是否带有双引号来判断),LANG的值不覆盖该变量当前值,而LC_ALL则覆盖所有变量。

缺省的locale设置存放在/etc/environment里,修改该文件:

  LANGUAGE="en_US:en"  LANG=en_US

这里当然需要存在一个en.US的locale,在debian/ubuntu下可以通过dpkg-reconfigure locales来生成。之后重启系统,console下就是一个英文环境了。

原创粉丝点击