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. SROP

    先放个例题吧,原理后面有时间再更:BUUCTF ciscn_2019_s_3 保护只开了nx 1 signed __int64 vuln() 2 { 3 signed __int64 v0; // r ...

  2. Layui 的内置jquery 版本

    //layui-v2.4.5 的内置jquery 版本. console.log(layui.$.fn.jquery);//=> 1.12.3 可以使用内置jq的方法: 方法一: layui.u ...

  3. 【】Apache Ranger剖析:Hadoop生态圈的安全管家

    前言 2016年,Hadoop迎来了自己十周岁生日.过去的十年,Hadoop雄霸武林盟主之位,号令天下,引领大数据技术生态不断发展壮大,一时间百家争鸣,百花齐放.然而,兄弟多了不好管,为了抢占企业级市 ...

  4. 树形DP总结基础

    概念 应用 例题 最大独立子集 没有上司的晚会 题目描述 分析 树的重心 题目描述 分析 树的直径 概念 题目描述 分析 概念 给定一棵有N个节点的树(通常是无根树,也就是有N-1条无向边),我们可以 ...

  5. python_自动查找指定目录下的文件或目录的方法

    代码如下 import os def find_file(search_path, file_type="file", filename=None, file_startswith ...

  6. Go语言中各种数据格式转换

    Go语言各种数据类型格式转换 package main import ( "encoding/json" "fmt" "reflect" & ...

  7. 网络协议学习笔记(九)CDN和数据中心

    概述 上一篇给大家介绍了DNS协议和HttpDns协议,现在给大家介绍一下CDN和数据中心相关的知识. CDN:你去小卖部取过快递么? 如果你去电商网站下单买个东西,这个东西一定要从电商总部的中心仓库 ...

  8. Python与Javascript相互调用超详细讲解(2022年1月最新)(一)基本原理 Part 1 - 通过子进程和进程间通信(IPC)

    TL; DR 适用于: python和javascript的runtime(基本特指cpython[不是cython!]和Node.js)都装好了 副语言用了一些复杂的包(例如python用了nump ...

  9. 常用字符的ASCII码

    字母    ASCII码      十进制数 0         00110000      48 9           00111001        57 A          01000001 ...

  10. 【Kafka】基于Windows环境的Kafka有关环境(scala+zookeeper+kafka+可视化工具)搭建、以及使用.NET环境开发的案例代码与演示

    前言:基于Windows系统下的Kafka环境搭建:以及使用.NET 6环境进行开发简单的生产者与消费者的演示. 一.环境部署 Kafka是使用Java语言和Scala语言开发的,所以需要有对应的Ja ...