您的当前位置:首页正文

CentOS7系统Java验证码乱码问题和解决方法

来源:华佗小知识

今天忘记做了什么配置,导致Spring Boot项目的登录界面验证码出现乱码,疑惑,感觉是字体出问题了。

如图:

于是ssh登录服务器,通过字体检查命令查看,发现真有问题,

#fc-match

msam10.ttf: “msam10” “LyX”

应该是字体问题了,于是到CentOS字体库查看:

# cd /usr/share/fonts

# ls

lyx

[root@VM_96_167_centos fonts]# cd lyx/

[root@VM_96_167_centos lyx]# ls

cmex10.ttf  cmmi10.ttf  cmr10.ttf  cmsy10.ttf  esint10.ttf  eufm10.ttf  msam10.ttf  msbm10.ttf  rsfs10.ttf  stmary10.ttf  wasy10.ttf

这些字体都无法正常显示中英文,知道是怎样回事,我们找个中文的字体替换掉就可以了。

于是从Windows(也可以从网络下载)选择微软雅黑字体,上传到服务器,可以通过FileZilla使用sftp方式上传,也可以通过其他方式上传,只要能上传到服务器就可以了,废话有点多。

然后把/usr/local/fonts里的lyh删除,或者备份到其它地方,把msyh.ttf 文件复制到/usr/local/fonts根目录。

执行 fc-cache 命令:

#fc-cache

然后重启Tomcat服务器,验证码图片就正常了。