Linux 系统中,如果遇到验证码乱码的问题,通常是由于系统没有安装字体所致。

1、上传本地的 Arial.ttf 字体

下载 Arial.ttf 字体连接
http://ruoyi.vip/font/Arial.ttf

2、 上传字体到服务器

将下载的字体文件上传到服务器的指定目录。假设上传目录为 /usr/share/font/myfonts ,可以使用 SCP 或其他工具上传文件

scp Arial.ttf username@your_server:/usr/share/fonts/myfonts/

3、建立字体索引信息,更新字体缓存

  1. 使 mkfontscalemkfontdir 命令正常运行,安装
yum install mkfontscale
yum install mkfontdir
  1. 使 fc-cache 命令正常运行

如果提示 fc-cache: command not found

yum install fontconfig
  1. 执行以下命令以建立字体索引信息并更新字体缓存
mkfontscale 
mkfontdir 
fc-cache -fv

4、 刷新页面,重启服务器的软件(不重启不生效)

在执行上述命令后,刷新你的页面,并重启相关的软件服务(如 Web 服务器),使得新的字体设置生效。

# 示例:重启 Nginx
sudo systemctl restart nginx

访问网站,检查验证码是否正常显示。

Docker环境安装字体包

# Linux环境下安装字体
RUN set -xe && apk --no-cache add ttf-dejavu fontconfig
# Mac环境下安装字体
RUN apt-get update && apt-get install -y fonts-dejavu fontconfig

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.