• linux修改locale字符集编码为UTF-8/GBK,修改语言区域为zh-CN(中文-中国)


    0.说明

    linux系统的语言、区域、字符集编码由`locale’ [loʊˈkæl] 决定。

    对应配置文件路径:

    • centos7

    /etc/locale.conf

    • centos6

    /etc/sysconfig/i18n

    以下以centos&为例

    1.查看当前生效的locale

    locale
    
    • 1

    LANG=
    LC_CTYPE=“POSIX
    LC_NUMERIC=“POSIX”
    LC_TIME=“POSIX”
    LC_COLLATE=“POSIX”
    LC_MONETARY=“POSIX”
    LC_MESSAGES=“POSIX”
    LC_PAPER=“POSIX”
    LC_NAME=“POSIX”
    LC_ADDRESS=“POSIX”
    LC_TELEPHONE=“POSIX”
    LC_MEASUREMENT=“POSIX”
    LC_IDENTIFICATION=“POSIX”
    LC_ALL=

    查看现有配置

    cat /etc/locale.conf
    
    • 1

    LANG=“en_US.UTF-8”

    1.3.查看所有支持的locale

    locale -am
    
    • 1

    C
    POSIX
    en_AG
    en_AG.utf8
    en_AU
    en_AU.iso88591
    en_AU.utf8
    en_BW
    en_BW.iso88591
    en_BW.utf8
    ………………

    1.4.查看是否支持的zh_CN

    不支持的话,需要安装。各种百度尝试没成功,放弃

    locale -am | grep zh_CN
    
    • 1

    zh_CN
    zh_CN.gb18030
    zh_CN.gb2312
    zh_CN.gbk
    zh_CN.utf8

    2.修改locale。改为LANG="zh_CN.UTF-8"

    2.3.用vivim修改。

    vim /etc/locale.conf
    
    • 1

    改为LANG="zh_CN.UTF-8"

    2.4.重载配置文件

    source /etc/locale.conf
    
    • 1

    2.5.再次查看是否生效

    locale
    
    • 1

    9.补充知识

    9.1 locale输出详解

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

    一、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)。

    二、理解locale的设置

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

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

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

  • 相关阅读:
    python学习:pyqt5
    【Qt控件之QListWidget】介绍及使用,利用QListWidget、QToolButton、和布局控件实现抽屉式组合控件
    10月最新外贸进出口情况,外贸整体向好
    Nginx配置访问密码
    Java由浅入深理解线程池设计和原理
    Container容器
    项目经验3
    Oracle自定义函数实现递归查询(用自定义函数替换connect_by_root)
    debug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因
    百模大战,打响AI应用生态的新赛点
  • 原文地址:https://blog.csdn.net/lishuoboy/article/details/131146521