解决centos7下中文字符异常显示

2020/6/10 19:28:00

前言

linux使用过程中,有部分客户反应在centos7中中文字符出现乱码或者显示异常。这种时候首先考虑的就是操作系统是否有中文字体,我们在部署cengos7系统的时候一般选择的是英文版,那么这时就要手动安装centos7的中文字体了。

在centos7中发现输入命令查看字体列表是提示命令无效: 

1.png 

如上图可以看出,不仅没有中文字体,连字体库都没有,那么接下来就记录一下在Linux CentOS 7中如何安装字体库以及中文字体。


安装字体库

CentOS 4.x开始用fontconfig来安装字体库,所以输入以下命令即可:

    yum -y install fontconfig

当看到下图的提示信息时说明已安装成功: 

2.png

这时在/usr/shared目录就可以看到fonts和fontconfig目录了(之前是没有的): 

3.png

接下来就可以给我们的字体库中添加中文字体了。


添加中文字体

 在CentOS中,字体库的存放位置正是上图中看到的fonts目录,所以我们首先要做的就是找到中文字体文件放到该目录下,而中文字体文件在我们的windows系统中就可以找到,打开c盘下的Windows/Fonts目录,我们只需要将我们需要的字体拷贝出来并上传至linux服务器即可,在这里我选择宋体和黑体可以看到是两个后缀名为ttf和ttc的文件: 

5.png

在这之前我们还需要新建目录,首先在/usr/shared/fonts目录下新建一个目录chinese: 

6.png

然后就是将上面的两个字体上传至/usr/shared/fonts/chinese目录下即可: 

7.png

紧接着是修改chinese目录的权限:

    chmod -R 755 /usr/share/fonts/chinese

接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:

    yum -y install ttmkfdir

当看到下图的提示信息时说明已安装成功: 

8.png

然后执行ttmkfdir命令即可:

    ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

最后一步就是修改字体配置文件了,首先通过编辑器打开配置文件:

    vi /etc/fonts/fonts.conf

可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去: 

 

9.png 

 然后输入:wq保存退出,最后别忘了刷新内存中的字体缓存,这样就不用reboot重启了:

    fc-cache

 这样所有的步骤就算完成了,最后再次通过fc-list看一下字体列表: 

10.png

可以看到已经成功安装上了中文字体,至此安装过程就全部结束,再次查看可以发现中文样式和内容均已可以正常显示了。