解决Linux下图片水印中文乱码问题

服务器水印中文乱码

业务场景中需要通过APP上传图片并通过添加水印方法在图片基础上加上图层,由于涉及到地理位置有中文字符,会出现乱码的方块字符,初步考虑是中文字体在服务器上不支持。

一、定位问题

首先,通过分析源码发现添加水印的方法中使用的font-style默认为微软雅黑字体,这种字体一般都只在windows系统上才存在,所以服务器上乱码也就有了合理的解释

二、解决思路

  • 首先找到Windows系统上对应的字体,我们通过以下目录找到对应的字体:C:\Windows\Fonts
    fonts
    在此文件夹下搜索:微软雅黑的关键词,出现以下结果:
    result

  • 将搜索到的字体文件上传到服务器上
    首先进入到Linux服务器的以下目录中:/usr/share/fonts/

  • 新建一个chinese的文件

mkdir chinese
  • 我们将刚刚找到的字体文件上传到该文件夹下
    在这里插入图片描述
    我们会看到该目录下会出现三个文件,虽然不是命名为微软雅黑的文件,但是不要怕,其实这三个文件就是微软雅黑的本体。

  • 接下来我们依次执行以下命令使得微软雅黑的字体生效

  • 安装字体

yum -y install ttmkfdir 
  • 刷新字体缓存
fc-cache
  • 查看安装字体
fc-list

fine
我们能够看到三个中文字体文件夹中的字体文件都已经生效了。
经过测试,成功解决图片中文水印的乱码问题。



参考资料:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值