`

PHP的imagettftext方法中文乱码

    博客分类:
  • php
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函数解决中文乱码问题

    然而,在处理中文字符时,`imagettftext()`可能会遇到乱码的问题。本文将深入探讨这个问题以及如何通过转换字符串编码来解决它。 当使用`imagettftext()`函数写入中文字符时,如果字体文件和字符串的编码不匹配,就...

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

    在PHP编译时如果启用了支持JIS编码的字体选项,imagettftext()函数无法正确处理中文字符,因而会在Zabbix的图形界面中出现乱码。 解决此问题有几种方法。最彻底的方式是重新编译PHP,但这种方法代价较大,尤其是当...

    服务器图片水印乱码字体库

    描述中提到的“图片上传后,添加水印乱码解决方法”暗示了解决方案可能包括在处理图片水印时对上传图片进行预处理,确保所有使用的文字都能被服务器上的字体库正确渲染。同时,"服务器添加字体库文件"这部分说明了...

    解决GD中文乱码问题

    ### 解决GD库中文乱码问题 在使用PHP的GD库进行图像处理时,经常会遇到中文乱码的问题。本文将详细介绍如何使用GD库正确地输出中文,并提供具体的代码示例来帮助开发者解决这一常见问题。 #### 一、问题背景 在...

    php文字水印,支持自动换行

    PHP的字符串函数如`mb_strlen`和`mb_substr`提供了对这两种编码的支持,可以避免乱码问题。 5. **`index.php`**:作为主入口文件,`index.php`很可能是实现这个功能的应用程序核心,它可能包含用户接口、上传图片的...

    php图形中文,绝对好用!

    "php图形中文"的标签表明我们将讨论如何在PHP中创建和操作带有中文字符的图形。以下是一些关键知识点: 1. **GD库**:PHP中最常用的图形库是GD库,它支持创建和修改各种图像格式,如JPEG、PNG、GIF等。GD库也支持...

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

    本文将深入探讨如何在PHP中实现这一功能,特别是在图片上写中文和英文的方法。 首先,我们来看第一种方法,这种方法主要适用于写英文文本。通过`imagecreatetruecolor()`函数,我们可以创建一个新的真彩色图像,...

    实用的PHP图片验证码

    5. 输出文本:`imagettftext()`函数将随机字符串写入图像,需要指定字体文件、大小、颜色等参数。 6. 添加干扰元素:如随机像素点或小线条,提高安全性。 7. 头部信息:为了正确显示图像,需要设置HTTP头信息,例如`...

    Dede后台验证码不显示三种解决方案

    2. **方法二:修改`inc.safe.config.php`文件:** - 打开`data/safe/inc.safe.config.php`,找到以下代码: ```php $safe_gdopen = '1,2,3,4,5,6,7'; ``` - 删除其中的数字`6`: ```php $safe_gdopen = '1,2,...

    日常整理PHP中简单的图形处理(经典)

    GD库支持中文输出,但是必须保证传入参数是以UTF-8格式,因为GD2仅支持UTF-8编码的中文字符,并默认使用英文字体,因此在输出中文字符串时,需要进行转码并指定使用中文字体,否则会出现乱码现象。 创建一个简单的...

    PHP 彩色文字实现代码

    - 确保生成彩字的程序和传递文字的程序都使用相同的编码,如UTF-8,不同编码可能导致乱码问题。 3. **Smarty插件实现** - Smarty是一个PHP模板引擎,允许开发者将业务逻辑与视图分离开来。 - 创建名为`modifier....

Global site tag (gtag.js) - Google Analytics