php文字水印出现乱码,有哪些解决思路?
php文字水印中文乱码的解决办法:1、找到Windows系统上对应的字体;2、将搜索到的字体文件上传到服务器上;3、通过“yum -y install ttmkfdir”安装字体;4、通过“fc-cache”刷新字体缓存即可。
本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。
php 文字水印中文乱码怎么办?
解决Linux下图片水印中文乱码问题
业务场景中需要通过APP上传图片并通过添加水印方法在图片基础上加上图层,由于涉及到地理位置有中文字符,会出现乱码的方块字符,初步考虑是中文字体在服务器上不支持。
一、定位问题
首先,通过分析源码发现添加水印的方法中使用的font-style默认为微软雅黑字体,这种字体一般都只在windows系统上才存在,所以服务器上乱码也就有了合理的解释
二、解决思路
-
首先找到Windows系统上对应的字体,我们通过以下目录找到对应的字体:C:\Windows\Fonts
在此文件夹下搜索:微软雅黑的关键词,出现以下结果:
-
将搜索到的字体文件上传到服务器上
首先进入到Linux服务器的以下目录中:/usr/share/fonts/ -
新建一个chinese的文件
mkdir chinese登录后复制
-
我们将刚刚找到的字体文件上传到该文件夹下
我们会看到该目录下会出现三个文件,虽然不是命名为微软雅黑的文件,但是不要怕,其实这三个文件就是微软雅黑的本体。 -
接下来我们依次执行以下命令使得微软雅黑的字体生效
-
安装字体
yum -y install ttmkfdir登录后复制
- 刷新字体缓存
fc-cache登录后复制
- 查看安装字体
fc-list登录后复制
我们能够看到三个中文字体文件夹中的字体文件都已经生效了。
经过测试,成功解决图片中文水印的乱码问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: php文字水印出现乱码,有哪些解决思路?
本文地址: https://pptw.com/jishu/650206.html