Linux学习笔记(15)Linux字符集(locale,LANG,LC_ALL)

关键词:linux系统修改编码,linux字符集问题,

 
总结实践
快速让相关信息变成中英文:
  LANG=zh_CN.utf8
  LANG=en_US.utf8
  
      

 

 


Windows的默认编码为GBK,Linux的默认编码为UTF-8。在Windows下编辑的中文,在Linux下显示为乱码。为了解决此问题,修改Linux的默认编码为GBK。方法如下: 方法1: vi /etc/sysconfig/i18n #centos6.x
vi /etc/locale.cnf #centos7.x 默认为: LANG
="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 修改为: LANG="zh_CN.GBK" SUPPORTED="zh_CN.UTF-8:zh_CN:zh" SYSFONT="latarcyrheb-sun16" 方法2: vi /etc/profile export LC_ALL="zh_CN.GBK" export LANG="zh_CN.GBK"

 

 
 

【1】什么是locale

    locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多。Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。

  引申一个问题:zh_CN.utf8 和 en_US.utf8有什么区别?

  其实前面的zh_CN代表显示编码,后面的utf8代表存储编码

       上面这个解释摘上网上,说得好玄乎,举两个简单的例子:

    a)在“简体中文”的环境,运行df命令,第一行显示的是:

    文件系统               1K-块        已用     可用 已用% 挂载点

        而在“繁体中文”的环境下,运行df命令,第一行显示的是:

    檔案系統               1K-區段      已用     可用 已用% 掛載點

    b)在中文环境下运行date命令,显示的是

    2013年 01月 27日 星期日 15:57:01 CST

        而在英文环境下,运行date命令,显示的是

    Sun Jan 27 15:57:46 CST 2013

        如图

      

 


运行locale指令得到当前系统编码设置的详细资料。

【1.1】locale的详细内容

  

 

1、 语言符号及其分类(LC_CTYPE)
2、 数字(LC_NUMERIC)
3、 比较和排序习惯(LC_COLLATE)
4、 时间显示格式(LC_TIME)
5、 货币单位(LC_MONETARY)
6、 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
7、 姓名书写方式(LC_NAME)
8、 地址书写方式(LC_ADDRESS)
9、 电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式(LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。

 

【2】理解locale的设置

设定locale就是设定12大类的locale分类属性,即 12个LC_*。除了这12个变量可以设定以外,为了简便起见,还有两个变量:LC_ALL和LANG。

它们之间有一个优先级的关系:LC_ALL > LC_* > LANG

可以这么说,LC_ALL是最上级设定或者强制设定,而LANG是默认设定值。

【3】具体设定locale的方法(zh_CN.UTF-8、zh_CN.GBK)

【3.1】freebsd的设置

1.GDM登录改为终端登录后startx启动图形桌面

2.在~/.cshrc中增加如下语句,(根据自己使用的shell进行相应设置)

setenv LANG zh_CN.GBK
setenv LC_ALL zh_CN.GBK
setenv LC_CTYPE zh_CN.GBK

3.修改/etc/fstab的默认值:

【3.2】linux 设置

1.修改/etc/sysconfig/i18n文件,LANG="zh_CN.UTF-8"或LANG="zh_CN.GBK"

普通用户修改~/.profile

  加上这一行:export LANG zh_CN.GBK
2.修改

 

posted @ 2019-08-01 17:41  郭大侠1  阅读(1101)  评论(0编辑  收藏  举报