Linux系统登陆或是远程操作时或则有时侯当我们在字符终端下使用man查看某个命令的说明文档时,其内容可能会因包含类似于“”的一些乱码。在这些情况下,可以使用下边命令清除乱码:
[linuxidc@~]$unsetLANG
这个是哪些问题呢?这个就不得不得说一个概念——字符集linux运维博客,
为什么说道字符集,引用一段话:“locale是国际化与本土化过程中的一个特别重要的概念,个人觉得,对于英文用户来说,一般会涉及到的国际化或则本土化,大致包含三个方面:看英文,写英文,与window英文系统的兼容和通讯。从实际经验上看来,locale的设定与看英文关系不大,而且与写英文,及window分区的挂载形式有很密切的关系。”
一·查看字符集
字符集在系统中彰显方式是一个环境变量,以RedHat为例(bshell)其查看当前终端使用字符集的方法可以有以下几种形式:
1)[linuxidc@~]$env|grepLANG
LANG=zh_CN.GB18030
2)[linuxidc@~]$export|grepLANG
declare-xLANG="zh_CN.GB18030"
3)还有一个很强悍的命令:locale
[linuxidc@~]$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这个变量就可以缺省取代所有其它变量了。
关于Linux字符集的查看及更改
二、修改字符集的方法
假如默认语言是en_US.UTF-8,在Linux的字符和图形界面下都是难以显示和输入英文的。假如默认语言是英文,例如zh_CN.GB18030或则zh_CN.gb2312,字符界面未能显示和输入,图形界面可以。
更改的方法有如下两种:
1).直接设置变量的形式更改linux 安装中文字符集,命令如下两条命令:
[linuxidc@~]$LANG=xxx或则exportLANG=xxx;
[linuxidc@~]$LC_ALL=”xxx”或者exportLC_ALL=”xxx”;
注:xxx为欲更改为的字符集
查看标准的字符集的方式红旗 linux,locale–a命令,常用的有zh_CN.GB2312、
zh_CN.GB18030或则zh_CN.UTF-8、en_US.UTF-8等
然而上述更改形式只会在当前shell中生效。新建shell此环境变量消失
故平常登入系统的执行“LANG=”这个命令的时侯显示的就没有乱码的缘故,意思就是取消了字符集的显示linux 安装中文字符集,和开篇提及的是一个意思
2)、修改文件形式,通过更改/etc/sysconfig/i18n文件控制
[linuxidc@~]$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"
更改文件保存退出以后要生效要执行如下命令才可生效
[linuxidc@~]$source/etc/sysconfig/i18n
用户登入shell的时侯会读取其中的设定值的
本文永久更新链接地址: