java图片验证码在服务器上返回乱码问题

本机上没有问题,部署在阿里云服务器上都几个月了都没有问题,上传过一次代码后突然验证码就显示为看不懂的符号了。然而代码对此并没有影响的。。。

打印生成的验证码
String word = vcu.produceNumAndChar(length);
LOGGER.info("验证码;{}", word);

在这里插入图片描述
生成的验证码是没有问题的,那么问题应该就是在画图的上面了
看了一遍遍代码生成验证码还是没找到原因。。。
只能Baidu and google
解决办法(亲测有效):
如果你的也是宋体,那按如下步骤应该没问题

 Graphics2D graphics2d = (Graphics2D) graphics;
	graphics2d.setFont(new Font("宋体", Font.BOLD, 18));

在linux中新增字体:

在本地 路径 C:\Windows\Fonts 下找到需要的字体 (如:宋体 simsun.ttc )

拷贝simsun.ttc 字体文件到/usr/share/fonts/zh_CN/TrueType/ 目录下

运行命令 fc-cache /usr/share/fonts/zh_CN/TrueType/

查看linux是否已支持安装字体 fc-list ,

java项目 需要在jdk下同样安装对应的字体

拷贝simsun.ttc文件到 目录 /usr/local/src/jdk1.8.0/jre/lib/fonts/ 下(个人jdk路径),

运行命令 fc-cache /usr/local/src/jdk1.8.0/jre/lib/fonts/

在这里插入图片描述
?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值