快速业务通道

Linux字符集的问题

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-19
Linux系统登录或是远程操作时或者有时候当我们在字符终端下使用man 查看某个命令的说明文档时,其内容可能会因包含类似于“<A1><AE>”的一些乱码.在这种情况下,可以使用下面命令消除乱码:
[test@pan ~]$ unset LANG
这个是什么问题呢?这个就不得不得说一个概念——字符集,
为何说道字符集,引用一段话:“locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面:看中文,写中文,与 window中文系统的兼容和通信.从实际经验上看来,locale的设定与看中文关系不大,但是与写中文,及window分区的挂载方式有很密切的关系.”

一·查看字符集
字符集在系统中体现形式是一个环境变量,以redhat为例(bshell)其查看当前终端使用字符集的方式可以有以下几种方式:
1)[test@pan ~]$env |grep LANG
LANG=zh_CN.GB18030
2) [test@pan ~]$ export |grep LANG
declare -x LANG="zh_CN.GB18030"
3)还有一个很强大的命令:locale
[test@pan ~]$ locale
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=
上面均说明LC_CTYPE(字符辨识编码)表示这个系统的系统现在使用的字符集是zh_CN.GB18030,LC_NUMERIC(数字系统的显示讯息)等其它与语言相关的变量.通常如果其它的语言变量都未设定,仅设定LANG这个变量就可以缺省代替所有其它变量了.

二、修改字符集的方式
如果默认语言是en_US.UTF-8,在Linux的字符和图形界面下都是无法显示和输入中文的.如果默认语言是中文,比如zh_CN.GB18030 或者zh_CN.gb2312,字符界面无法显示和输入,图形界面可以.
修改的方式有如下两种:
1).直接设置变量的方式修改,命令如下两条命令:
[test@pan ~]$LANG=xxx 或者 export LANG=xxx;
[test@pan ~]$LC_ALL=”xxx” 或者 export LC_ALL=”xxx”;
注:xxx为欲修改为的字符集
查看标准的字符集的方法,locale –a命令,常用的有zh_CN.GB2312、
zh_CN.GB18030或者zh_CN.UTF-8、en_US.UTF-8等
但是上述修改方式只会在当前shell中生效.新建shell此环境变量消失
故平时登录系统的执行“LANG= ”这个命令的时候显示的就没有乱码的缘故,意思就是取消了字符集的显示,和开篇提到的是一个意思
2)、修改文件方式,通过修改/etc/sysconfig/i18n文件控制
[test@pan ~]$ vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030" #==>此处即为系统的语言
SUPPORTED="zh_CN.UTF-8:zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
修改文件保存退出之后要生效要执行如下命令才可生效
[test@pan ~]$ source /etc/sysconfig/i18n
用户登录shell的时候会读取其中的设定值的.

ok字符集的应用篇完成,与大家分享,希望有用.至于locale的学习,请见下一篇文章.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号