一、问题描述
登录页面中文验证码 无法正常显示 只看到小框框,但服务器那边是可以正常输出中文的:
下面这样改了之后还是不行:
二、解决办法:安装字体库&中文字体
1、先查看当前(服务器上)系统安装了那些字体
#fc-list
当然,上面 图 是我安装完成之后的结果
下面开始安装:
2.安装:
#yum -y install fontconfig
安装完成后,在/usr/share目录就可以看到fonts和fontconfig目录了(之前是没有的):
在CentOS中,字体库的存放位置正是上图中看到的fonts目录,所以我们首先要做的就是找到中文字体文件放到该目录下。
3.而中文字体文件在windows系统中就可以找到,打开c盘下的Windows/Fonts目录:
如上图,我们只需要将我们需要的字体拷贝出来并上传至linux服务器即可,在这里我选择新宋体
4、桌面新建chinese目录,将选中的字体文件复制到chinese目录里面,然后上传至/usr/shared/fonts/目录下即可:
5、修改chinese目录的权限:
# chmod -R 755 /usr/share/fonts/chinese
6、安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:
# yum -y install ttmkfdir
然后执行ttmkfdir命令即可:
# ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
7、修改字体配置文件了,首先通过编辑器打开配置文件:
# vim /etc/fonts/fonts.conf
可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去:
8、不用重启,刷新内存中的字体缓存使配置对系统生效:
# fc-cache
9、最后,还有很重要的一步,就是重启用到字体库的服务,将字体库应用到服务中去。
中文验证码终于正常显示了