centos7识别验证码字体

16 篇文章 1 订阅

一段java写的纯字母和数字的登录验证码程序,在windows运行正常。部署到阿里云,起初也是正常的。但经过对这台阿里云主机(CentOS 7.4)进行一系列的环境配置(nginx,ffmpeg等)后,验证码变成了乱码,与后台打印的字母数字完全不同。

考虑到代码没有变动,应当是环境的问题。可能是某个时候把centos的字体文件给删除或覆盖了。最后发现可以通过以下方式解决:

1、检查代码使用的字体为Times New Roman

2、在C:\Windows\Fonts下找到“Times New Roman”,这是个文件夹,下面有四个ttf字体文件

3、把C:\Windows\Fonts\Times New Roman下的四个字体文件,上传到阿里云服务器

4、登录阿里云服务器,复制字体文件到系统字体目录

[root@zhangcool-cooler01 ~]# cd /usr/share/fonts
[root@zhangcool-cooler01 fonts]# ls
lyx
[root@zhangcool-cooler01 fonts]# fc-list
/usr/share/fonts/lyx/eufm10.ttf: eufm10:style=LyX
/usr/share/fonts/lyx/cmsy10.ttf: cmsy10:style=LyX
/usr/share/fonts/lyx/msam10.ttf: msam10:style=LyX
/usr/share/fonts/lyx/cmmi10.ttf: cmmi10:style=LyX
/usr/share/fonts/lyx/wasy10.ttf: wasy10:style=LyX
/usr/share/fonts/lyx/esint10.ttf: esint10:style=LyX
/usr/share/fonts/lyx/rsfs10.ttf: rsfs10:style=LyX
/usr/share/fonts/lyx/stmary10.ttf: stmary10:style=LyX
/usr/share/fonts/lyx/cmex10.ttf: cmex10:style=LyX
/usr/share/fonts/lyx/msbm10.ttf: msbm10:style=LyX
/usr/share/fonts/lyx/cmr10.ttf: cmr10:style=LyX
[root@zhangcool-cooler01 fonts]# mkdir timesnr
[root@zhangcool-cooler01 fonts]# mv /opt/soft/times*.ttf ./timesnr
[root@zhangcool-cooler01 fonts]# fc-cache
[root@zhangcool-cooler01 fonts]# fc-list
/usr/share/fonts/lyx/eufm10.ttf: eufm10:style=LyX
/usr/share/fonts/timesnr/timesbi.ttf: Times New Roman:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,nghiêng đậm,Lodi etzana
/usr/share/fonts/lyx/cmsy10.ttf: cmsy10:style=LyX
/usr/share/fonts/lyx/msam10.ttf: msam10:style=LyX
/usr/share/fonts/lyx/cmmi10.ttf: cmmi10:style=LyX
/usr/share/fonts/timesnr/timesi.ttf: Times New Roman:style=Italic,cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,kursywa,Itálico,Курсив,İtalik,Poševno,nghiêng,Etzana
/usr/share/fonts/lyx/wasy10.ttf: wasy10:style=LyX
/usr/share/fonts/lyx/esint10.ttf: esint10:style=LyX
/usr/share/fonts/lyx/rsfs10.ttf: rsfs10:style=LyX
/usr/share/fonts/lyx/stmary10.ttf: stmary10:style=LyX
/usr/share/fonts/lyx/cmex10.ttf: cmex10:style=LyX
/usr/share/fonts/timesnr/times.ttf: Times New Roman:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,thường,Arrunta
/usr/share/fonts/lyx/msbm10.ttf: msbm10:style=LyX
/usr/share/fonts/timesnr/timesbd.ttf: Times New Roman:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiona,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/lyx/cmr10.ttf: cmr10:style=LyX

 

5、重启tomcat,重新打开登录页,验证码正常。

其中,第4步,也可以这样做,即把字体文件拷贝到jre的字体目录

[root@zhangcool-cooler01 fonts]# cp /opt/soft/times*.ttf /opt/app/jdk1.8.0_144/jre/lib/fonts/
不管拷贝字体文件到哪里,都需要重启tomcat,才会生效。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7 默认情况下是支持中文编码的。你可以通过安装字体库和中文字体来确保正常显示中文。要在CentOS 7上安装字体库和中文字体,你可以按照以下步骤进行操作: 1. 参考中的链接,了解如何在CentOS 7上安装字体库和中文字体。这个链接提供了详细的安装方法和步骤。 2. 打开终端,并使用以下命令查看当前的系统区域设置文件:[root@localhost~]$ cat /etc/locale.conf 3. 确保locale.conf文件中的设置正确。如果需要修改,请按照中的提示进行修改。 4. 重新启动系统以使更改生效。 通过以上步骤,你可以确保CentOS 7能够正确识别中文编码,并正常显示中文内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [CentOS7解决中文乱码](https://blog.csdn.net/a104219702/article/details/127152501)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [CentOS 7 中文编码 文件编码 文件转码 查看编码 调整编码](https://blog.csdn.net/rungong123/article/details/88385417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值