UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别

en_US.UTF-8、zh_CN.UTF-8叫做字符集,就是说‘A’、‘B’、‘中’、‘国’等对应的整数值,
en_US.UTF-8只包含了ASCII码,zh_CN.UTF-8包含了6000多个汉字?
如果是这样的话,那所谓UTF-8,就是把这些整数,编写成一串字节的方法?

UTF-8 是编码方式

en_US.UTF-8 和 zh_CN.UTF-8 是语言环境,也就是字符集

en_US.UTF-8 和 zh_CN.UTF-8 包含的字符数量是基本上一样的,大概是七万个汉字,编码都是 UTF-8 编码,字符集是 Unicode,版本是 4.1 吧?zh_CN.GB18030 和 zh_CN.GBK 的字符集都与 Unicode 3 是等价的,记得应该是这样
语言环境的差别就是另一回事了,中国人和外国人表示时间啦,数字啦,习惯都不一样,所以必须区分开。大部分程序根据语言环境变量来选择界面的语言是中文还是英文。

所以一般linux系统的语言环境设置成:export LANG=zh_CN.UTF-8,代表中国人使用的unicode字符集

查看默认语言

[root@localhost ~]$ cat /etc/locale.conf <-----之前的 /etc/sysconfig/i18n 已变为 /etc/locale.conf

  LANG=en_US.UTF-8​​​<------默认是英
或 [root@localhost​~]$ echo $LAN

查看系统已安装的语言包

$ locale
LANG=en_US.UTF-
LC_CTYPE="en_US.UTF-8
LC_NUMERIC="en_US.UTF-8
LC_TIME="en_US.UTF-8
LC_COLLATE="en_US.UTF-8
LC_MONETARY="en_US.UTF-8
LC_MESSAGES="en_US.UTF-8
LC_PAPER="en_US.UTF-8
LC_NAME="en_US.UTF-8
LC_ADDRESS="en_US.UTF-8
LC_TELEPHONE="en_US.UTF-8
LC_MEASUREMENT="en_US.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"​​<-------装的都是英文包 ,没有安装中文

临时修改默认语言

[root@localhost​~]$ LANG="zh_CN.UTF-8"​​<----临时设置默认语言为中文,前提是安装了中文语言

永久修改语言包

1 、安装中文语言包:

[root@host ~]# yum install -y kde-l10n-Chinese

2 、安装 glibc-common(如果已经安装过,则需要重新安装):

先检查是否已经安装 glibc-common :

[root@host ~]# yum list installed | grep glibc-common
或者
[root@host ~]# rpm -qa | grep glibc-common

如果已经安装过,则需要重新安装,这样才能利用上第一步的中文语言包:

[root@host ~]# yum reinstall -y glibc-common

如果没有安装过,那么安装即可:

[root@host ~]# yum install -y glibc-common

3 、查看系统是否支持中文语言包:

[root@host ~]# locale -a | grep zh

4 、修改配置文件,再重启服务器即可:

[root@host ~]# echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
[root@host ~]# reboot
 

查看文件编码及修改文件编码

 [root@localhost​~]$ enca filename​​​​<--- 没有这个命令请安装​ sudo yum install -y enc

需要说明一点的是,enca对某些GBK编码 的文件 识别的不是很好,识别时会出现
 Unrecognized encodin
 在Vim中查看文件编码

 :set fileencodin

如果想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以
 ~/.vimrc 文件 中添加以下内容
 set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp93
 这样,就可以让vim自动识别文件 编码 (可以自动识别UTF-8或者GBK编码 的文件 ),其实就是依照 fileencodings提供的编码 列表尝试,如果没有找到合适的编码 ,就用latin-1(ASCII)编码 打开

 在Vim中直接进行转换文件编码 ,比如将一个文件 转换成utf-8格
 :set fileencoding=utf-

 用命令enconv 转换文件编码

 enconv -L 原编码 -x 新编码 filename
例如: enconv -L zh_CN -x UTF-8 filenam

用命令iconv 转换文件编码

 iconv -f 原编码 -t 新编码 filenam
例如:iconv -f encoding -t encoding filenam

用命令convmv 转换文件名编码:​​<-----此命令常用于解决Linux文件拷贝到Windows后文件名乱码的问
 convmv -f 原编码 -t 新编码 [选项] filenam
 常用参数
 -r 递归处理子文件 
 --notest 真正进行操作,请注意在默认情况下是不对文件 进行真实操作的,而只是试验
 --list 显示所有支持的编
 --unescap 可以做一下转义,比如把 变成空
 注意:该命令只转换文件名编码,文件内容不
 不要在NTFS和FAT文件 系统中使用此命令,否则可能产生意外结果,如果要在Linux 中正确的显示NTFS和 FAT的中文件名,可以通过mount参数来解决,具体方法查看一下man手册

参考:https://ccie.lol/knowledge-base/linux-centos-7-install-chinese

https://www.iteye.com/blog/825635381-2087814

https://zhuanlan.zhihu.com/p/58655288

CentOS 7中的系统语言包及UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别的更多相关文章

  1. CentOS 6.5语言包裁剪

    https://www.ibm.com/developerworks/cn/linux/l-cn-linuxglb/ 浅析 Linux 的国际化与本地化机制 Linux 是一个国际化的操作系统,它的工 ...

  2. linux安装中文语言包

    相关配置如下: yum install fonts-chinese.noarch yum install m17n-db-common-cjk yum install m17n-db-chinese安 ...

  3. win7 安装英文语言包

    因为某些英文程序字符显示不全,所以考虑把 win7 改为英文语言.直接下载英文语言包安装不成功,经过多次尝试和百度终于找到合适的办法. 下载 Vistalizator.exe, windows6.1- ...

  4. moodle3.7中文语言包

    Moodle官方有中文语言包,但是还有没有翻译的,为了提高用户体验,可以将部分未翻译的应用在Moodle网站管理中自己修改. 具体步骤: 先确定需要修改的关键字,也就是网站中没有翻译成中文的文字 在c ...

  5. Eclipse添加中文语言包与下载

    从Eclipse官网下载最新版本的Eclipse都是英文版的,不自带语言包.现在Eclipse有一个语言包项目,叫Eclipse Babel Project.如果需要语言包,可以联机从这儿下载. Ba ...

  6. 自己在安装centos 系统时, 是使用英文安装 成功,现在系统语言为英语,如何设置为中文?

    作为一个linux菜鸟,遇到的问题可谓真多,在虚拟机VMware上安装好centos系统后,心里甚喜,也连上网络了. 一.遇到的问题 but,火狐浏览器浏览网页出现乱码,也不知道怎么解决?所有的中文都 ...

  7. 用SignalR 2.0开发客服系统[系列5:使用SignalR的中文简体语言包和其他技术点]

    前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 用SignalR 2.0开发客服系统 ...

  8. CentOS 修改系统语言的方法

    使用如下命令: export LANG="en_US.UTF-8" 可以修改环境变量LANG,修改之后立即生效,当时当系统重新启动时便会又变成原来的语言 另外两种修改语言的方法: ...

  9. Fedora 手动删除系统中不再需要的包

    最新文章:Virson‘s Blog 1.安装yum-utils yum install yum-utils 2.使用package-cleanup --leaves列举系统中不再需要的包 packa ...

随机推荐

  1. 贪心学院计算机视觉CV训练营

    贪心学院计算机视觉CV训练营 任务 Notes 其他 任务1:机器学习.深度学习简介 Note1 任务2:深度学习的发展历史 Note2 任务3:现代深度学习的典型例子 Note3 任务4:深度学习在 ...

  2. Swoole 中使用 WebSocket 异步服务器、WebSocket 协程服务器

    WebSocket 异步风格服务器 WebSocket\Server 继承自 Http\Server,所以 Http\Server 提供的所有 API 和配置项都可以使用. # ws_server.p ...

  3. 认识MongoDB(二)

    MongoDB是什么 MongoDB 是一个开源的.可扩展的.跨平台的.面向文档的非关系型数据库,它由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. 在 MongoDB ...

  4. Pytest_参数化(10)

    pytest参数化有两种方式: mark的parametrize标记:@pytest.mark.parametrize(变量名,变量值),其中变量值类型为列表.元组或其它可迭代对象. fixture的 ...

  5. Nginx_配置文件nginx.conf配置详解

    user nginx nginx ; # Nginx用户及组:用户 组.window下不指定 worker_processes 8; # 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CP ...

  6. 在quasar 注册全局filter

    A common use case for Quasar applications is to run code before the root Vue app instance is instant ...

  7. vue 传入后台的数据多了个=

    解决方法: 在前端值参时用{} 在后台接收时用Map 来自为知笔记(Wiz)

  8. Linux上天之路(十八)之自动化部署

    pexpect Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Pyth ...

  9. 51 Nod 1091 线段的重叠 (贪心算法)

    原题链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1091 思路分析:通过读题不难发现这是一道涉及贪心算法的题,刚 ...

  10. Docker的学习笔记(一)基础知识

    概述 本人最近在学习docker相关的知识,既是工作本身的需要也是自己对技术的追求的必要,以后我也会推出容器相关的随笔,既可以增长自己的知识,也可以和读者广泛交流,岂不乐乎?话不多说.第一篇先介绍do ...