怎样让CentOS支持中文文件名

2013年6月17日 | 分类: 【技术】

由于安装英文版CentOS系统不支持中文,导致出现中文文件名乱码。

下面操作时在CentOS上安装中文支持。

yum groupinstall "fonts"

参考:https://www.zhihu.com/question/35731746?sort=created

参考:https://jingyan.baidu.com/article/8275fc86b7b36446a13cf648.html
参考:https://www.linuxquestions.org/questions/linux-newbie-8/xfs-is-needed-4175456033/

查看CentOS版本

lsb_release -a

输出:

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.4.1708 (Core)
Release:        7.4.1708
Codename:       Core

这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

2. 下载并安装两个语言包

fonts-chinese

下载:https://pkgs.org/download/fonts-chinese

安装依赖包mkfontdir ttmkfdir:

yum install mkfontdir ttmkfdir

安装依赖包xfs

wget http://vault.centos.org/5.11/os/x86_64/CentOS/xorg-x11-xfs-1.0.2-5.el5_6.1.x86_64.rpm
rpm -ivh xorg-x11-xfs-1.0.2-5.el5_6.1.x86_64.rpm

安装依赖包chkfontpath

wget http://vault.centos.org/5.11/os/x86_64/CentOS/chkfontpath-1.10.1-1.1.x86_64.rpm
rpm -ivh chkfontpath-1.10.1-1.1.x86_64.rpm
wget http://vault.centos.org/5.11/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm
rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm
wget http://vault.centos.org/5.11/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm
yum install  mkfontdir ttmkfdir
rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm

下载:https://pkgs.org/download/fonts-ISO8859

wget http://vault.centos.org/5.11/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
yum install  mkfontdir ttmkfdir
rpm -ivh fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm 

或者

yum install fonts-chinese-3.02-12.el5.noarch.rpm 
yum install fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

2)修改/etc/sysconfig/i18n

将原来的注释掉,这段东西拷进去

LANG="zh_CN.GB2312"
SUPPORTED="zh_CN.GB2312:zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"

3)最后重启就ok了。

在LINUX中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。

locale的命名规则为_.,如zh_CN.UTF-8,zh**中文,CN****地区,UTF-8表示字符集。

在locale环境中,有一组变量,**国际化环境中的不同设置。 LC_ALL它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。

注意,LANG的值不受该宏影响。”C”是系统默认的locale,”POSIX”是”C”的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。

根据前面测试的经验知道在/etc/sysconfig/i18n文件中修改LANG的设置为:

LANG="zh_CN.GBK"
LANGUAGE="zh_CN.GBK:zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"

然后在/etc/profile文件中增加export LC_ALL=zh_CN.GBK内容。使得全部的LC*都统一了。

这样再重启主机》再进终端》ls》显示了中文文件名