一、 CentOS 7 中查看现有字库。

1、查看系统正在使用的语言。

# echo $LANG 
en_US.UTF-8

2、查看系统当下所有语言环境。

# locale
LANG=en_US.UTF-8
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"
LC_ALL=

二、查看和安装中文语言

1、查看系统是否安装过那些中文语言。

# locale -a |grep "zh_CN"
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

2、若是执行 locale -a |grep "zh_CN" 后未出现上述字符请先行安装以上字体包代码如下:

# yum groupinstall "fonts" -y

3、安装完成之后修改 locale.conf 文件。

# vim /etc/locale.conf
LANG="en_US.UTF-8"  修改为如下:
LANG="zh_CN"

4、保存后执行如下命令:

# source /etc/locale.conf

5、安装成功验证。

# date
2018年 09月 19日 星期三 07:30:04 UTC   (顺便说一下时间问题是指服务器所在地时间)
【如果时间显示依旧是英文也不要擅自尝试修改其他locale.conf 文件中的语言编码 保持 LANG="zh_CN"编码即可】

事情弄到这里临时完成!部分系统重启关机后可能会恢复英文或者是乱码,出现这种情况大部分可能是因为服务商不是中国的,一般国内在 “阿里云” “腾讯云” “百度云”等做到这里基本就可以。他们的服务器中有中文字段库。

 

三、字段库和搜索目录字库的安装

1、安装字体库。

# yum -y install fontconfig

安装完成后,你会发现在 /usr/share/ 目录下有一个 fonts 目录。

2、进入 fonst 目录在此新建一个chinese,导入字体文件。

# mkdir chinses
# chmod -R 755 /usr/share/fonts/chinses/

接下来就是做最重要的一步,把自己Windows系统中的所有字库弄到 /usr/share/fonts/chinses/ 下面!

直接就可以把 C:\Windows\Fonts 的所有文件复制过去,建议使用FTP传,【VSFTP的架设建议参考博客园这条博文(一定阅读注解和文下评论中的补充点)】。

3、上述弄完之后 ttmkfdir 安装搜索目录字库。

# yum -y install ttmkfdir

4、进入 fonts.conf 进行文件修改编辑。

#vim /etc/fonts/fonts.conf
在<dir prefix="xdg">fonts</dir> 这一行下面加入:
<dir>/usr/share/fonts/chinese</dir>

5、建立字体缓存:

chmod -R 755 /usr/share/fonts/chinese/
cd /usr/share/fonts/chinese
mkfontscale (如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale )
mkfontdir(如果提示 fc-cache: command not found,则需要安装# yum install fontconfig )
fc-cache -fv

这样缓存就建立好了,最后再次通过fc-list看一下字体列表。

注:还有很重要的一步,就是重启用到字体库的服务,将字体库应用到服务中去

 

四、关于Apache httpd 网页中文乱码的解决方法!

1、查看.htaccess 是否在web的根目录下,

# ls -all (web路径)

2、若是没有,直接在web根目录下新建一个

#vim .htaccess

3、进入后添加一下: IndexOptions Charset=GB2312

  保存 即可

4、在 httpd.conf 文件中最后加入:IndexOptions Charset=GB2312

【如果在 httpd.conf 文件中的这一条 AddDefaultCharset GB2312 那么最后就要换成 IndexOptions Charset=UTF-8】

最后重启 httpd.conf 即可

# systemctl restart httpd

这样一来无论是网页,FTP文件,系统和Telnet(国内服务商)需要显示中文的均可显示中文!【至于国外服务商!系统和Telnet刚弄好时完全可以显示中文,但重启之后就显示未乱码了!】本人怀疑是可能发生原因为是网速大于500ms以上服务器丢包所致!解决方法在网络小于350m后用重启系统或者使用服务提供的IE登陆界面重新执行一下:

#  locale -a |grep "zh_CN"
这一条命令,让系统重新自检一下语言包!

至少我是这样解决的,目前还没有发现因其他原因发生的文字乱码现象,若有其他方式优化还请指正!版本不同可能操作时略有差异,所以要仔细阅读!