首页 > 语言 > 关键词 > php最新资讯 > 正文

PHP的GD函数imagettftext()要注意默认字符编码

2009-04-14 13:45 · 稿源: www.cnzzad.com

这阵子在开发一个小功能,就是类似论坛个性签名的东西,根据会员信息自动生成一张图片上面还有文字的那种。图片的拼合用imagecopy()和imagecopyresampled()等函数就可以搞定,到了画文字的时候遇到了一个难题。

文字的模板是保存在一个文本文件中,程序先读取这个文件然后用数据替换掉里面的变量,再使用imagettftext()函数画到图片上,不幸的是画出来的图片居然是乱码@_@……于是上Google搜索相关的问题,发现大部分人都是在说imagettftext()函数中传递的字串要UTF-8编码,而PHP官方手册中也明确写着“UTF-8编码的字串可以直接传递”,可问题是模板文件的编码本来就是UTF-8的,这就有点莫名其妙了。无奈之下我用EmEditor打开原来的模板文件,尝试转换成不同的编码后和GD输出的乱码做对比,结果发现转换到EUC-JP编码的时候居然和GD输出的乱码吻合了……也就是说,这里服务器上GD的默认编码是EUC-JP,而那是一种日文编码。

查找了一下php.ini的设置没有发现相关选项,于是又一个问题来了,这个默认编码是在哪里设置的呢?还是史文大哥牛,发现了PHP 编译参数里面有一个“–enable-gd-jis-conv”的参数十分可疑,Google一下果然发现了很多乱码问题与这个编译参数有关……官方给出的参数说明是“GD: Enable JIS-mapped Japanese font support.”,也就是让GD支持日文编码的字库(可恶,为什么没有支持中文编码字库的编译选项……PHP也国籍歧视么= =b),说白了开启了这个选项的话GD就会把TTF字库中大于127的部分(即不属于标准拉丁文字库的部分)按照日文JIS的顺序来映射,那么用来映射中文字体的时候自然就变成乱码了。二话不说,去掉这个选项重新编译,问题解决。去掉这个选项之后,imagettftext()的默认编码就变成了UTF- 8,就可以正常显示中文了~

  • 相关推荐
  • 大家在看
  • 用php源码搭建二维码加密支付平台

    今天给大家介绍的项目-"用php源码搭建二维码加密支付平台",可以说,有一定的技术门槛,有一定的壁垒,因为需要搭建网站并且运营。正是因为有一定的门槛,需要学习和准备一些东西,才能挡住大多数用户的进入,才能长久的赚取利润。这些技术门槛,和需要准备的一些东西,我今天会详细的,手把手的教大家,如果你肯学习,并且有一定的网络基础,我相信可以很快突破难点,搭建成功。一旦搭建成功,运用一些推广的手段,后期

  • MySQL怎么按指定字符合并及拆分 详细实例分析

    按照指定字符进行合并或拆分是经常碰到的场景,MySQL在合并的写法上比较简单,但是按指定字符拆分相对比较麻烦一点(也就是要多写一些字符)。本文将举例演示如何进行按照指定字符合并及拆分。

  • 电子达人秀来了!“GD32杯”第五届立创电子大赛创新开启

    在“全民视频”的时代,我们经常会看到人们拿着手机,刷抖音、快手网红,聊淘宝主播带货,上B站看硬核大佬……之所以很多人专注于此,是因为每一个爆红的视频背后,都蕴含着无限商机。放眼科技届,电子工程师是绝对的中坚力量之一。你可以在现今最受“科技宅”群体欢迎的BiliBili网站看到很多有趣的视频,诸如“XX制作的核心机密”、“拥有XX技术,瞬间解锁炸裂性能”、“DIY出来的XX,脑洞简直离谱”等等,电子达人的作品少至几千

  • MySQL8.0窗口函数做数据排名统计详细教程

    MySQL8.0新增了窗口函数,大大的方便了做数据排名统计的人,很多朋友还不清楚怎么用MySQL8.0做数据统计排名,下面就来为大家分享一篇文章。

  • 揭秘金山云云游戏PaaS服务平台背后的视频编码技术

    近日,金山云发布了云游戏PaaS平台。该平台的云游戏架构能够为客户提供稳定、快速、弹性的云游戏部署及运维解决方案,支持CPU+GPU资源池的混合架构,以更低的损耗代价实现更高的用户流并发处理效率。在云端,金山云投入了大量研发精力获取高度弹性的虚拟化/容器能力,以此为基础自研了GPU pass-through虚拟化技术,一方面大大降低了VM在OS层的损耗以提升用户资源使用经济性,整体降低TCO;另一方面获得了等效于vGPU方案的资源监控?

  • 智能变革:英特尔HPC高性能计算与AI人工智能解决方案和实例

    在竞争日益激烈的环境中,数据中心作为传统信息化的基础,伴随着全面AI时代与5G、物联网的不断临近,企业希望获得出色的模拟和建模、人工智能(AI)和大数据分析功能,以便取得突破性的发现与创新,而高性能计算(HPC)基础设施能够为这些工作负载带来优势。 企业如果想在相同的 HPC 基础设施中运行 HPC、大数据分析和 AI 工作负载,优化的资源调度降低计算成本需要一个全面的融合HPC和AI集群的解决方案。 英特尔? 精选解决方案基于英

  • 现在买iPhone 11还是等iPhone 12?李楠:等iP12

    一年一度的618将于今晚0点正式开启。6月17日消息,一位知友在知乎提问:现在买iPhone 11还是等iPhone 12?目前iPhone 11在各大平台有大幅降价,京东平台iPhone 11 64GB版到手价4599元,拼多

  • 苹果将追踪定位iPhone抢夺者:定位iPhone技术介绍

    据 TMZ 报道称,5 月 25 日 George Floyd 遭遇明尼阿波利斯暴力执法而死亡。一周之后,美国多地发生了激烈的抗议示威活动,苹果 CEO 蒂姆·库克也曾在第一时间表达了对受害者的同情,以及对暴力伤害行为的反对。

  • iPhone SE 2 Plus、iPhone SE 3接踵而至?这可能吗?

    时隔两年,苹果今年终于发布了新款iPhone SE,连名字都懒得变,但是配备最新A13处理器、3299元的价格仍然让很多人大呼真香。那么接下来,iPhone SE又会怎么走?最新曝料称,苹果计划下一步推出

  • 京东iPhone疯狂降价:iPhone 11加899元全额换购iPhone 12

    6月1日开始,各大电商正式进入618大促。近日,京东官方宣布,自6月1日起,iPhone 11直降900元,到手价仅为4599元,同时还有iPhone 8 Plus领券立减600元、XS Max抢券立减500元等特别优惠,价格史

  • iPhone13机模曝光 手感类似iPhone5S

    近日日本网站Mac Otakara曝光一个5.5 英寸iPhone的3D打印模型,这款iPhone将于 2021 年上市,在苹果的命名中也就是iPhone13系列手机,该网站表示这款机模仅是正在开发的原型机,未来有可能会有变动。

  • 趁618买iPhone 11还是等iPhone 12?李楠给出了他的答案

    虽然如今的618的狂欢早已不仅局限于6月18日这一天,而是几乎贯穿6月一整个月,但不可否认,这一天仍将是其中所有人最期盼的狂欢高潮所在。而在热度最高的手机领域,苹果无疑是焦点中的焦点。正如此前预料的,各大平台以iPhone 11系列为代表的多款机型放出了极具竞争力的价格,牢牢吸引了无数用户的目光。

  • iPhone照片怎么添加标题

    苹果iPhone在iOS14系统中加入了给照片添加标题的新功能,这个功能具体是怎么使用呢,以下我们来看下照片添加标题的具体操作方法。

  • 比iPhone 11便宜不少!四款iPhone 12集体现身:命名曝光

    此前,多方权威信源显示,今秋苹果将推出四款iPhone 12机型,包括一款5.4英寸、两款6.1英寸以及一款6.7英寸机型。日前,荷兰T-mobile官网率先公布了iPhone 12的全系命名。相关页面信息显示,今

  • 老外大赞iPhone 12系列:全面屏版iPhone 4外形史上最佳

    综合当前比较可靠的消息,今年秋季苹果的年度旗舰iPhone 12系列将依旧提供iPhone 12、iPhone 12Max和iPhone 12 Pro、iPhone 12 Pro Max两个版本共四款机型,而且Wedbush证券最新报道称,iPhone 12的发行将重回“正轨”,依旧选择9月份发布。现在有最新消息,近日有油管博主进一步放出了据称是该机机模的“上手视频”。据国外知名油管博主@iup_date 最新发布的消息显示,与此前曝光的消息基本一致,全新的iPhone 12系列?

  • iPhone13机模曝光 苹果iPhone13机模高清大图

    iPhone12 即将发布,而目前有关于下下代iPhone13 的消息也已经曝光。Macrumors报道,日本网站Mac Otakara近日曝光了一个5. 5 英寸iPhone的3D打印模型,据称该款iPhone将于 2021 年上市。

  • iPhone小组件怎么叠放

    苹果iPhone在iOS14系统中加入了桌面小组件国内,用户可以将应用程序的某个功能单独放置到桌面中,让用户快速启动查看,如何在iPhone上添加桌面小组件呢,以及将小组件进行叠放设置,以下我们来看下具体的操作方法。

  • iPhone画中画怎么开启

    苹果iPhone画中画功能怎么开启,想要使用画中画需要进行什么样的操作步骤,这里我们来一起了解下苹果iOS14画中画功能的开启方法。

  • 哪些iPhone支持iOS14

    iOS14系统预计在6月底的苹果WWDC开发者大会上正式公布,这个新的系统可以支持哪些iPhone手机更新呢,以下我们提前来看下iOS14系统支持的iPhone型号。

  • 苹果将追踪定位iPhone抢夺者

    据外媒报道,华盛顿、洛杉矶、旧金山、纽约和费城等多家苹果商店受到袭击或破坏,抢劫者偷走了所有可用产品。苹果公司警告,被抢劫的手机和电脑等产品均不可被重置,并将追踪定位不法者的位置发送到当地执法部门。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议

热文

  • 3 天
  • 7天