CentOS 7中的系统语言包及UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别
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的区别的更多相关文章
- CentOS 6.5语言包裁剪
https://www.ibm.com/developerworks/cn/linux/l-cn-linuxglb/ 浅析 Linux 的国际化与本地化机制 Linux 是一个国际化的操作系统,它的工 ...
- linux安装中文语言包
相关配置如下: yum install fonts-chinese.noarch yum install m17n-db-common-cjk yum install m17n-db-chinese安 ...
- win7 安装英文语言包
因为某些英文程序字符显示不全,所以考虑把 win7 改为英文语言.直接下载英文语言包安装不成功,经过多次尝试和百度终于找到合适的办法. 下载 Vistalizator.exe, windows6.1- ...
- moodle3.7中文语言包
Moodle官方有中文语言包,但是还有没有翻译的,为了提高用户体验,可以将部分未翻译的应用在Moodle网站管理中自己修改. 具体步骤: 先确定需要修改的关键字,也就是网站中没有翻译成中文的文字 在c ...
- Eclipse添加中文语言包与下载
从Eclipse官网下载最新版本的Eclipse都是英文版的,不自带语言包.现在Eclipse有一个语言包项目,叫Eclipse Babel Project.如果需要语言包,可以联机从这儿下载. Ba ...
- 自己在安装centos 系统时, 是使用英文安装 成功,现在系统语言为英语,如何设置为中文?
作为一个linux菜鸟,遇到的问题可谓真多,在虚拟机VMware上安装好centos系统后,心里甚喜,也连上网络了. 一.遇到的问题 but,火狐浏览器浏览网页出现乱码,也不知道怎么解决?所有的中文都 ...
- 用SignalR 2.0开发客服系统[系列5:使用SignalR的中文简体语言包和其他技术点]
前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 用SignalR 2.0开发客服系统 ...
- CentOS 修改系统语言的方法
使用如下命令: export LANG="en_US.UTF-8" 可以修改环境变量LANG,修改之后立即生效,当时当系统重新启动时便会又变成原来的语言 另外两种修改语言的方法: ...
- Fedora 手动删除系统中不再需要的包
最新文章:Virson‘s Blog 1.安装yum-utils yum install yum-utils 2.使用package-cleanup --leaves列举系统中不再需要的包 packa ...
随机推荐
- Cython编译动态库、引用C/C++文件
将某些.py 编译成动态库 设置好要编译的module们: compile_to_c_modules = [ 'package.module' ] 将它们转换成cythonize可识别的参数: def ...
- JSON.parse 和 JSON.stringify 详解
JSON格式,(简写JavaScript Object Notation),是一种用于数据交换的文本格式,书写简单. 基于JavaScript原生语法,能够序列化对象.数组.数值.字符串.布尔值和 n ...
- [opencv]利用minAreaRect计算平面矩形的旋转角度
#include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" #include ...
- web服务之nginx部署
本期内容概要 了解web服务 Nginx和Apache的对比 部署Nginx 内容详细 1.什么是web服务 Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用 ...
- kubernetes运行应用1之Deployment
run 或create deployment 部署一个应用 kubernetes 部署 nginx ,使用 kubectl get deployment 时出现 No resources found ...
- openmesh - src - trimesh delete and add elements
openmesh - src - trimesh delete and add elements openmesh 版本 8.1 About 本文主要介绍openmesh的如下接口 add_verte ...
- Swoole 进程管理模块 Process 之单进程的使用
PHP 自带的 pcntl,存在很多不足,如: 没有提供进程间通信的功能: 不支持重定向标准输入和输出: 只提供了 fork 这样原始的接口,容易使用错误: Swoole\Process 提供了如下特 ...
- LCA/在线(倍增)离线(Tarjan)
概念 祖先 公共祖先 最近公共祖先 方法1:暴力爬山法 方法2:倍增 求公共祖先 求俩点的距离 Tarjan 概念 祖先 有根树中,一个节点到根的路径上的所有节点被视为这个点的祖先,包括根和它本身 公 ...
- pymysql防止SQL注入的方法
import pymysql class Db(object): def __init__(self): self.conn = pymysql.connect(host="192.168. ...
- cnetos7安装字体
1 先下载字体 链接:https://pan.baidu.com/s/1FEV7K8c8S6o3gBukkSGp4w 提取码:font 2 安装字体脚本 vi font.sh #!/bin/bash ...