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. Linux_Cornd任务调度

    Crond任务调度 进行定时任务的设置 概述 任务调度:是指系统在某个时间执行特定的命令或程序 作用:避免重复工作 基本语法 crontab [选项] 选项 功能 -e 编辑crontab定时任务 - ...

  2. <数据结构>并查集与树

    作用 查:给定一个元素,查询它在哪个集合内 并:合并两个元素所在的集合 实现思路 对应关系 元素-->结点 集合-->树 多个集合-->森林 用树的根节点作为不同树的标志 合并时只需 ...

  3. 编写Java程序,实现简单的五子棋博弈游戏(美和易思Java练习习题)

    package com.qq.gb; import java.util.Scanner; public class GoBang { Scanner sc = new Scanner(System.i ...

  4. 2.spring系列之404异常的捕获

    回顾 我在之前发布了一篇spring统一返回的文章,最后提到是无法捕获404异常的,这里我们先来测试一下 @RestController public class TestController { @ ...

  5. 分享一个自研开发的QA自动化审计工具-Sonar检查

    评价一个系统或软件的质量高低,我始终认为除了需求和设计外,代码质量很重要,一个高质量的系统或软件,并不是被测试出来的,更多的是要靠设计和开发出来的.目前也有很多自动化的测试工具,更多的是从功能和性能角 ...

  6. IOS自动化,使用到坐标点击,模拟器的分辨率怎么获取?

    IOS不能通过具体元素定位,就要考虑用坐标来点击,不同的模拟器分辨率不太一样,怎么获取模拟器的分辨率? 可能会想是不是和android模拟器一样,可以直接通过界面看到具体分辨率,不过ios好像不可以直 ...

  7. sqlplus -S参数表示什么意思?

    sqlplus -S , -S选项是静默模式,是Silent的缩写.在这种模式下将会以最精简的形式完成SQL*Plus的交互过程. -S模式多用于脚本模式.在命令行sqlplus -S还有可能出现卡住 ...

  8. 谈谈 StringBuffer 和 StringBuilder 的历史故事

    1.前言 众所周知,StringBuffer 是线程安全的 ,而StringBuilder 不是线程安全的  ,但是 StringBuilder 速度会更快. 事实上 作为一个字符串拼接 方法 ,在线 ...

  9. js 关于replace() 的使用心得

    1.前言 我想把一段话 let a = "抱歉,您当前的主治医生有紧急情况不得不下班,您的预约将由<br>医生:里斯<br>为您就诊,<br>诊室位置:门 ...

  10. 关于MySQL中group by的一些问题的记录

    only full group by问题的解约方案 这个报错的原因是,在SQL语句中,你查询的字段应该是你分组的依据,即select的column应该全部跟在group by之后.这个也和MySQL的 ...