当前位置: 首页 > news >正文

Java——CaptchaUtil生成二维码乱码

前言

这个问题就是因为Linux上没有字体,你可以有两种方法,一个在生成的时候设置字体,一个就是安装字体。
默认的字体为Courier

乱码情况

1334215-20190904112216904-403316890.png

步骤

安装字体工具

yum install -y fontconfig mkfontscale

查看服务器字体

# fc-list
/usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
/usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
/usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
/usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight
/usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique

寻找对应的字体并上传到服务器字体文件目录下

1334215-20190904112314036-316335829.png

缓存下字体

#fc-cache /usr/share/fonts/lyx

拷贝到jdk并缓存

拷贝字体文件到  jdk安装目录/jre/lib/fonts 目录下
运行命令  fc-cache jdk安装目录/jre/lib/fonts

重启项目

重启java项目即可

转载于:https://www.cnblogs.com/wangyang0210/p/11428634.html

相关文章:

  • 阿里云——扩展Linux系统盘
  • Linux——CentOS7没有ifconfig命令
  • etcd常用命令记录
  • STL.h
  • 顶层const 底层const
  • 期末考试(正解:三分单峰函数 me~)
  • const 成员函数
  • Linux——CentOS7没有第二张网卡的配置信息
  • Python3.5学习之旅——day5
  • zabbix监控jvm内存
  • 约瑟夫环算法的几种实现方式,最简单方式,一行代码实现
  • NPM——npm|cnpm如何升级
  • Nginx——报错汇总
  • 贪心算法基础
  • ElementUI——报错汇总
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Angular 2 DI - IoC DI - 1
  • express + mock 让前后台并行开发
  • flutter的key在widget list的作用以及必要性
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • java中具有继承关系的类及其对象初始化顺序
  • Logstash 参考指南(目录)
  • opencv python Meanshift 和 Camshift
  • OSS Web直传 (文件图片)
  • python 装饰器(一)
  • React-flux杂记
  • springMvc学习笔记(2)
  • vuex 学习笔记 01
  • 百度地图API标注+时间轴组件
  • 记一次和乔布斯合作最难忘的经历
  • 简析gRPC client 连接管理
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 树莓派 - 使用须知
  • 思否第一天
  • 携程小程序初体验
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • MyCAT水平分库
  • 阿里云服务器购买完整流程
  • ​Python 3 新特性:类型注解
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET CF命令行调试器MDbg入门(一)
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET框架
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • [17]JAVAEE-HTTP协议
  • [Android] Implementation vs API dependency
  • [BUUCTF 2018]Online Tool
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测