java 生成验证码 乱码,Linux服务器 java生成的图片验证码乱码问题

问题:如图所示项目中生成的图形验证码不能正常显示出需要的字体

f1f189b25331637266e37563592e2a20.png

原因:  linux下没有对应的字体

查找项目中使用到系统字体的地方,如下:

3fc2b344e38e9f41b4af6a97000284d3.png

解决:

1.

在本地 路径 C:\Windows\Fonts 下找到需要的字体 (Times New Roman)

735fb657f06054087bf9f41a948cadff.png

拖动到桌面,会生成如下文件:

2f75970137c60ee618748cecbcf84134.png

2.

查看linux系统字体目录

[root@creditorbar /]# fc-list

显示如下(系统字体目录为:/usr/share/fonts/lyx):

8cde97bb039182f86b802342f1ec3afb.png

3.

(1). 拷贝以上4个字体文件到  /usr/share/fonts/lyx 目录下

(2). 运行命令  fc-cache /usr/share/fonts/lyx

(3). 拷贝以上4个字体文件到  jdk安装目录/jre/lib/fonts 目录下

(4). 运行命令  fc-cache jdk安装目录/jre/lib/fonts

4.

重启项目 -->>  over !!   ---------------------------