centos7识别验证码字体
一段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,才会生效。
centos7识别验证码字体相关推荐
- 利用modelarts和物体检测方式识别验证码
近来有朋友让老山帮忙识别验证码.在github上查看了下,目前开源社区中主要流行以下几种验证码识别方式: tesseract-ocr模块: 这是HP实验室开发由Google 维护的开源 OCR引擎,内 ...
- 超级简单的Region对比识别验证码
在一些验证码相对简单的站点中,停一下,什么是简单?以我现在的图形算法修为,就是对于特定的字符,在生成时,其字符的Region应该是一样的,如(chars.bmp)图片中的6总是这个字体这个字号.... ...
- Tesseract(识别验证码)
[Tesseract]windows 下的安装及简单应用 1.Tesseract安装以及简介 阻碍我们爬虫的.有时候正是在登录或者请求一些数据时候的图形验证码.因此这里我们讲解一种能将图片翻译成文字的 ...
- Java识别验证码和图像处理
阅读本文可能会解决的问题: ① Java识别验证码 ② Tess4J的使用和OCR识别 ③ JavaCV的使用二值化和灰度测试 ④ Java裁剪和缩放图片 ⑤ 如何生成数字&字母验证码 ⑥ . ...
- Python使用Cv2模块识别验证码
目录 业务需求 需求分析 代码一 结果分析 代码二 代码模块 结果分析 总结经验 参考文献 业务需求 识别验证码图片中的数字信息,用python的图形表示出来了 需求分析 使用Cv2模块.pytess ...
- 利用机器学习识别验证码(从0到1)
最近喜欢先把测试结果图放前面.大家可以先看下效果. 识别速度并不是很快,代码并没有进一步优化. 本篇主要讲的是 从制作验证码开始,到我们利用机器学习识别出来结果的过程. 利用机器学习识别验证码的思路是 ...
- Python Tesseract识别验证码
学习记录, 仅供参考 文章目录 准备工作 tesseract初试 下载样本 图片降噪 tesseract初训练 tesseract样本训练 测试训练结果 我们在写爬虫的时候经常遇到网页需要登陆的情况, ...
- CentOS7安装新字体
CentOS7安装新字体 概述 安装字体库 安装 查找所需字体 创建存放字体的目录 修改algerian目录的权限 安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件 ...
- python识别花草_Python识别验证码的另一种花样玩法
概述 简介 坑! 安装 Tesseract-OCR 使用 pytesseract 识别验证码 高级玩法 - 除线 简介 首先呢,简单的验证码是这样的: code.jpg 不是这样的: image.pn ...
最新文章
- markdown编辑器 typora的安装和使用
- 复杂的结构化存取(一)
- 【Java】 剑指offer(40) 最小的k个数
- cnn识别cifar10、cifar100(pytorch)
- 避免重复造轮子,我们去哪找FPGA IP或是HDL功能模块?
- python安装、anaconda安装、pycharm安装(学习笔记,自己重新整理后的内容,最新版本工具安装)
- 我们为什么要做数据分析?
- 利用SQL语句对数据进行操作:插入、更新与删除数据行
- java13性能,Spring Boot 2.2.0,性能提升+支持Java13
- 替换 centOS6.5 默认安装的旧版 firefox ,安装最新版 firefox 全过程
- 文件系统操作-分区及格式化、挂载
- PostgresSQL模式
- 数据结构上机实践第三周项目2 - 建设“顺序表”算法库
- 0. SQL Server监控清单
- 西威变频器avo下载调试资料_超能士变频器报输出缺相维修
- HTTP协议之3XX状态码
- 【软考软件评测师】2010年下综合知识历年真题
- 使用公司域名邮箱的好处有哪些?企业邮箱域名注册流程是什么?
- FIX协议教程1-什么是FIX会话和管理消息
- Datax-web版安装(含安装包)
热门文章
- 万圣节活动没灵感?收下这份万圣节海报文案大礼包!
- 小小知识点(二十七)20大5G关键技术
- 解决MySQL3306端口被占用 docker启动不了MySQL容器
- [开源软件开发导论课程——第一次作业]有关开源软件开发的5个问题
- win10密码忘了怎么办_苹果id密码忘了怎么办 apple id密码忘了解决方法【详解】...
- FileInputStream概述
- 985毕业,半路出家28岁进军Python,坚持奋斗了三年现如今年薪36W+
- 吴永辉教授2021年讲课3-4题解
- Jmeter(115)——在jmeter中写入xls文件的基本方法
- c#语言switch+case用法,C# switch case语句