`

PHP的imagettftext方法中文乱码

    博客分类:
  • php
阅读更多

去年的时候开发了一套 微信三级分销系统 ,今年持续在运营,偶尔碰上客户买源码,于是就卖了。

最近有个客户淘宝(扬和宏商城)上又买了一套,他反馈了一个bug,就是微信分销名片中昵称显示乱码,先win测试了下,是正常的,然后再服务器(Linux)上看了下,确实乱码。查看了下代码,发现是imagettftext()中将文字写到图片中乱码,而且仅仅是中文乱码,英文正常。

分析:
1、确认gb库是否正确安装?没有报这个方法不存在。
2、imagettftext()必须utf-8编码,php的整个项目都是utf-8编码,所以不用太多考虑。如果不是,可以mb_convert_encoding()转换;
3、检查字体是否加载正确,写死了字体路径,而且换了多个字体(常用的中文字体文件是simsun.ttc和simhei.ttf),还是不行,确认应该不是字体的问题。

然后看到网上有人说:请检查你在编译gd库时是否添加了–enable-gd-jis-conv选项,此选项是为了让gd库支持日文编码的字库,请取消此选项并重新编译。

然后我查看了我的php编译选项,是添加了这个参数,难道要重新编译?
正当我蛋疼的时候,又看到一篇文章:

$str=mb_convert_encoding('汉字', "html-entities", "utf-8"); //转成html编码

抱着试试的态度,居然真的可以了。记下~

上天应该眷顾努力的家伙,是吧?

 

博客:http://www.webyang.net/Html/web/article_263.html

0
6
分享到:
评论

相关推荐

    php的GD库imagettftext函数解决中文乱码问题

    本文实例讲述了php的GD库imagettftext函数解决中文乱码问题的方法。分享给大家供大家参考。具体如下: 使用imagettftext写中文时,常出现乱码问题。解决方法是将中文字符串转为utf-8格式即可。具体代码如下(文件...

    不通过imagettftext输出中文

    1、节省服务器资源,imagettftext要加载字体文件才能输出中文,而字体文件一般都好几M甚至十几M的,chs16.don只有200来K; 2、输出来的字更专业一点,用imagettftext好像不能输出这样好看的中文点阵字。

    字体文件elephant.ttf

    用于php的验证码字体文件,imagettftext

    ImageTTFText:PHP 在图像上写入 ttf 文本

    ImageTTFText.php 版权所有 2015 用于将文本应用于图像的 PHP 类## 例子 $ img = new ImageTTFText ( 'test.jpg' );$ img -> font ( 'times' )-> size ( 25 )-> align ( 'right' )-> box ( 200 )-> color ( '#...

    解决zabbix监控因php问题导致图形界面中文乱码方法

    解决因编译php中添加了-enable-gd-jis-conv选项导致Zabbix监控系统图形界面中文乱码问题 现象: php编译参数: 说明: 如果PHP编译时启用–enable-gd-jis-conv选项的话,那么非ASCII字符(例如汉字、拼音、希腊文和...

    imagettftext

    imagettftext是image ttf text的连写(中文:图像文本,文字转图像) 这是关于php GD库的应用,这个源码将使您可以自定义的打印一些内容在图片上(文字转图片) 建议在php7.4的版本下运行,下载后最好把文件夹.*-...

    解决GD中文乱码问题

    今天仔细研究了下GD的一些相关技术,顺手也研究下GD中文乱码的问题。 使用GD库输出中文字符串,调用imagestring是没有用的。需要使用imagettftext()函数。imagettftext函数的具体使用就参考手册啦。 下面给个使用...

    PHP100视频教程 34:PHP5中图片中文验证码(下).rar

    软件介绍 1、image与header输出的介绍  PHP的HEADER是定义头的动作,新PHP5中支持三种类型: ...4、PHP验证码插入中文的方法 iconv("gb2312","UTF-8","PHP100中文站"); //首先要将文字转换成UTF8格式

    php绘图之在图片上写中文和英文的方法

    主要介绍了php绘图之在图片上写中文和英文的方法,涉及GD库中imagestring和imagettftext方法的使用技巧,需要的朋友可以参考下

    PHP100视频教程 (三十四、PHP5中图片中文验证码(下))

    1、image与header输出的介绍 PHP的HEADER是定义头的动作,新PHP5中支持三种类型: Content-Type: xxxx/yyyy ...4、PHP验证码插入中文的方法 iconv("gb2312","UTF-8","PHP100中文站"); //首先要将文字转换成UTF8格式

    PHP100视频教程 34:PHP5中图片中文验证码(下)

    PHP的HEADER是定义头的动作,新PHP5中支持三种类型: Content-Type xxxx nnn xxxxxx2、imageline 与 imagesetpixel 函数3、imagettftext函数调用字体写入文字4、PHP验证码插入中文的方法iconv("gb2312","UTF-8",...

    php gd库生成图片,只需要输入字符串,字数越多字体越小,水平垂直居中

    php gd库生成图片,只需要输入字符串,字数越多字体越小,水平垂直居中

    php输入指定文字转换成图片.rar

    利用php代码中的imagecreate、ImageColorAllocate、imagettftext等函数编写输入指定文字转换成图片

    一个好用的PHP验证码类实例分享

    参考了网上的php 生成验证码的方法,以及php 图片验证码和php 中文验证码的生成方法。用到了PHP GD库的相关知识。 1,生成验证码的类 VerificationCode.class.php复制代码 代码如下:<?php class Verification...

    PHP代码,实现输入名字生成头像,头像大小512*512,头像背景随机变换颜色

    接着,我们定义了要显示的文字,并使用imagettftext函数添加了文字特效。最后,我们输出生成的图片。 需要注意的是,我们需要提供一个TrueType字体文件作为文字特效的字体。同时,我们还需要安装PHP的GD扩展。

    PHP的图形验证码库.zip

    二)创建一个图像(imagecreatetruecolor),然后将字符串输出到图像中(imagestring或者imagettftext);三)对图像进行噪点干扰,比如加入一些线条或者像素点(imageline和imagesetpixel)。四)输出图像...

    arialuni.zip

    主要是用于php在一张图片上添加汉字时缺少字体的尴尬 所以把字体上传供朋友们下载 imagettftext主要是这个函数

    PHP代码,输入文字生成1080*1920的手机壁纸,文字要有特效,背景为随机渐变背景

    接着,我们定义了要显示的文字,并使用imagettftext函数添加了文字特效。最后,我们输出生成的图片。 需要注意的是,我们需要提供一个TrueType字体文件作为文字特效的字体。同时,我们还需要安装PHP的GD扩展。 ...

    《PHP编程最快明白》第七讲:php图片验证码与缩略图

    个是输出4个验证码的例子,对于汉字,需要font文件和imagettftext函数,用到的时候大家再网上搜索吧。

Global site tag (gtag.js) - Google Analytics