设定locale 让Linux能够输入中文
locale 软件运行时的语言环境 locale分类: 语言符号及其分类(LC_CTYPE),数字 (LC_NUMERIC),比较和排序习惯(LC_COLLATE),时间显示格式(LC_TIME),货币单位(LC_MONETARY),信息主要是 提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES),姓名书写方式(LC_NAME),地址书写方式(LC_ADDRESS),电话号码书写方式 (LC_TELEPHONE),度量衡表达方式(LC_MEASUREMENT),默认纸张尺寸大小(LC_PAPER)和locale对自身包含信息的 概述(LC_IDENTIFICATION)。 eg: $ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" #用户所使用的语言符号及其分类 LC_NUMERIC="en_US.UTF-8" #数字 LC_TIME="en_US.UTF-8" #时间显示格式 LC_COLLATE="en_US.UTF-8" #比较和排序习惯 LC_MONETARY="en_US.UTF-8" #LC_MONETARY LC_MESSAGES="en_US.UTF-8" #信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等 LC_PAPER="en_US.UTF-8" #默认纸张尺寸大小 LC_NAME="en_US.UTF-8" #姓名书写方式 LC_ADDRESS="en_US.UTF-8" #地址书写方式 LC_TELEPHONE="en_US.UTF-8" #电话号码书写方式 LC_MEASUREMENT="en_US.UTF-8" #度量衡表达方式 LC_IDENTIFICATION="en_US.UTF-8" #对自身包含信息的概述 LC_ALL= locale定义文件放在/usr/share/i18n/locales 字符集就是字符,尤其是非英语字符在.net527.cn/index.html'>系统内 的编码方式,也就是通常所说的内码,所有的字符集都放在 /usr/share/i18n/charmaps,所有的字符集也都是用Unicode编号索引的。Unicode用统一的编号来索引目前已知的全部的 符号。而字符集则是这些符号的编码方式,或者说是在网络传输,计算机内部通信的时候,对于不同字符的表达方式,Unicode是一个静态的概念,字符集是 一个动态的概念,是每一个字符传递或传输的具体形式. Locale 是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。一个locale的书写格式为: 语言[_地域[.字符集]]. 生成的locale放在/usr/lib/locale/目录中 自定义locale 优先级的关系: LC_ALL>LC_*>LANG LC_ALL的值将覆盖所有其他的locale设定 查看zh_CN使用的编码: /usr/lib/locale/zh_CN/LC_* 说明了使用何种编码 Linux 切换 locale 的四种方法 1) 从CDE登录屏幕上修改locale 选择 options -> languages -> choose the new locale 2) 临时设置locale(shell相关的) ksh : LANG=<locale> sh : LANG=<locale> export LANG csh : setenv LANG <locale> bash: export LANG=en_US(zh.GBK) 3) vi /etc/default/init add LANG=<locale> LC_ALL=<locale> reboot。 4) .cshrc/.profile/.bashrc: 设置$LANG 对于计算机来说就是你要是用哪一种字符集,你就必须告诉你的linux系统,locale就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地 区的locale就是根据这几大类的习惯定义的,这些locale定义文件放在/usr/share /i18n/locales目录下面,所有的字符集都放在/usr/share/i18n/charmaps,所有的字符集也都是用Unicode编号索 引的。