本地跑项目正常,部署至云服务器上就出现中文验证码 显示小方块儿;参考文章“Centos7 安装字体库&中文字体”才得以解决问题

一、问题描述
登录页面中文验证码 无法正常显示 只看到小框框,但服务器那边是可以正常输出中文的:
在这里插入图片描述
下面这样改了之后还是不行:
在这里插入图片描述

二、解决办法:安装字体库&中文字体

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、最后,还有很重要的一步,就是重启用到字体库的服务,将字体库应用到服务中去。
中文验证码终于正常显示了
在这里插入图片描述

发布了98 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37767455/article/details/102646269