ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux字符集问题

Linux字符集问题

原创 Linux操作系统 作者:keeptrying 时间:2013-01-24 15:31:42 0 删除 编辑

一、常见字符集

GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》。由原中国国家标准总局发布,1981年5月1日实施。GB2312是中国国家标准的简体中文字符集。

GB 18030的全称是GB18030-2000《信息交换用汉字编码字符集基本集的扩充》,是我国政府于2000年3月17日发布的新的汉字编码国家标准,2001年8月31日后在中国市场上发布的软件必须符合本标准。

GBK 向下与 GB 2312 编码兼容,GBK编码是在GB2312-80标准基础上的内码扩展规范。

Unicode字符集编码是Universal Multiple-Octet Coded Character Set 通用多八位编码字符集的简称,是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显示。。该编码于1990年开始研发,1994年正式公布,最新版本是2005年3月31日的Unicode 4.1.0。

Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

UTF-8是Unicode的其中一个使用方式。 UTF是 Unicode Translation Format,即把Unicode转做某种格式的意思。UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字

 

二、查看字符集

字符集在系统中体现形式是一个环境变量,以redhat为例(bshell)其查看当前终端使用字符集的方式可以有以下几种方式:

1、[root@localhost ~]# env | grep LANG

LANG=zh_CN.GB2312

2、[root@localhost ~]# export | grep LANG

declare -x LANG="zh_CN.GB2312"

3、强大的命令:locale

[root@localhost ~]# locale

LANG=zh_CN.GB2312

LC_CTYPE="zh_CN.GB2312"

LC_NUMERIC="zh_CN.GB2312"

LC_TIME="zh_CN.GB2312"

LC_COLLATE="zh_CN.GB2312"

LC_MONETARY="zh_CN.GB2312"

LC_MESSAGES="zh_CN.GB2312"

LC_PAPER="zh_CN.GB2312"

LC_NAME="zh_CN.GB2312"

LC_ADDRESS="zh_CN.GB2312"

LC_TELEPHONE="zh_CN.GB2312"

LC_MEASUREMENT="zh_CN.GB2312"

LC_IDENTIFICATION="zh_CN.GB2312"

LC_ALL=

 

三、修改字符集

查看系统支持的字符集:locale –a

常用的有zh_CN.GB2312、zh_CN.GB18030、zh_CH.UTF-8、en_US.UTF-8等。

locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。

 

1、直接设置变量的方式修改

LANG=xxx   或   export LANG=xxx

LC_ALL=”xxx”   或  export LC_ALL=”xxx”

其中xxx为要修改的字符集。

但是这样的修改方式只会在当前shell中生效。新建shell此环境变量消失。

2、修改/etc/sysconfig/i18n文件

I18N 是 internationalization 的缩写形式,意即在 i 和 n 之间有 18 个字母,本意是指软件的“国际化”

I18N支持多种语言,但是同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;

 

[root@localhost ~]# vi /etc/sysconfig/i18n

LANG="zh_CN.UTF-8"

SUPPORTED="zh_CN.GB18030:zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"

SYSFONT="latarcyrheb-sun16"

 

第一行,表明当前系统的语言环境变量设置;

第二行,表明系统预置了那些语言支持,不在项目中的语言不能正常显示;

第三行,定义控制台终端字体,文本登录的时候显示地字体。

修改后要执行如下命令才可生效:

[root@localhost ~]# source /etc/sysconfig/i18n

 

可以只修改个人的字符集,而不影响其他用户:

cp /etc/sysconfig/i18n $HOME/.i18n

然后修改$HOME/.i18n文件即可。

 

 

 

 

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25744374/viewspace-753224/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-25

  • 博文量
    130
  • 访问量
    1031779