Linux中各种编码问题

1.Linux的语系(locale)

(1)语系的含义

       语系,简单来说,就是linux国际化的一个东西,也就是linux在中国发行,就可以设置成中文语系,这样就能显示中文,输入中文了等。如果在日本发行,就可以设置成日文语系,就可以显示、输入日文了等。一个语系实际上是由语言、地域、字符集三个部分组成。比如说zh_CN.GB2312表示中文_中华人民共和国_GB2312字符集,zh_CN_GB18030表示中文_中华人民共和国_GB19030字符集,zh_TW.BIG5表示中文_中国台湾_BIG5字符集,等等。

       可以使用locale -a命令查看系统支持的所有语系。

       可以使用locale命令查看当前系统的语系设置情况。

(2)linux在国际化的时候,根据不同的国际化范畴,将语系分为12个分块,分别是:

      a)语言符号及其分类(LC_CTYPE) 
      b)数字(LC_NUMERIC) 
      c)比较和排序习惯(LC_COLLATE) 
      d)时间显示格式(LC_TIME) 
      e)货币单位(LC_MONETARY) 
      f)信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES) 
      g)姓名书写方式(LC_NAME) 
      h)地址书写方式(LC_ADDRESS) 
      i)电话号码书写方式(LC_TELEPHONE) 
      j)度量衡表达方式 (LC_MEASUREMENT) 
     k)默认纸张尺寸大小(LC_PAPER) 
      l)对locale自身包含信息的概述(LC_IDENTIFICATION)。

也就是说我们可以分别对这12个分类设置一个语系。另外还有一个LC_ALL设置,如果设置了LC_ALL的话,其他说有的都会依据LC_ALL这个设置。

(3)语系的设置

语系的设置有两种方式,一种是修改配置文件/etc/sysconfig/i18n,一种是通过变量的方式修改。

          a)修改配置文件

          语系的配置文件是/etc/sysconfig/i18n,里面可以设置LANG,LC_ALL,还有LC_*的12个分类。

          b)修改环境变量

          可以修改的环境变量有LANG,LC_ALL,LC_*.     当然了,它们究竟谁生效是有一定的优先级的,优先级就是LC_ALL > LC_* > LANG.

          备注:当我们使用export命令来设置语系时,比如export LC_CTYPE=zh_CN.UTF-8,那么它会在当前bash以及该bash进程的子进程中是生效的,当这个bash退出后,这个环境变量就没有啦~也就是每次用户登录,都需要重新设置。

(4)与语系有关的几个目录或者文件

            a)/etc/sysconfig/i18n     用来配置语系,配置之后,每次重新登录或者重启系统都会生效的。

            b)/usr/share/i18n/locales      语系中语言和地域的定义

            c)/usr/share/i18n/charmaps    语系中的字符集的定义

            d)/usr/lib/locale/     完整的语系生成后存放的地方


2.文件的编码

          当我们在Linux like系统中创建一个文件时并在文件中输入字符,那么保存时候所使用的字符集编码,就是该文件的编码。这个很关键,因为我们在Linux系统下查看一个文件时,出现乱码,往往就是我们打开文件的工具选择解析文件所使用的编码与我们文件的实际编码不同所造成的。


3.vim工具的几个编码

       (1)encoding

       (2)fileencoding

       (3)fileencodings

       (4)termencoding

ps.待看

可以创建或者修改vim ~/vimrc文件,在该文件中可以进行永久的设置,也可以在vim界面下使用:set encoding=utf-8这样的命令来进行设置。


4.远程仿真终端工具如SecureCRT的编码

SecureCRT的会话选项中有一个字符编码的设置,也就是它从远程主机上接收了好多数据,然后用这里设置的字符编码区解析然后显示在屏幕上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值