Java——CaptchaUtil生成二维码乱码

2024-08-16 12:28:04 浏览数 (2)

前言

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

乱码情况

步骤

安装字体工具

代码语言:javascript复制
yum install -y fontconfig mkfontscale

查看服务器字体

代码语言:javascript复制
# 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

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

缓存下字体

代码语言:javascript复制
#fc-cache /usr/share/fonts/lyx

拷贝到jdk并缓存

代码语言:javascript复制
拷贝字体文件到  jdk安装目录/jre/lib/fonts 目录下
运行命令  fc-cache jdk安装目录/jre/lib/fonts

重启项目

代码语言:javascript复制
重启java项目即可

0 人点赞