1. 云栖社区>
  2. PHP教程>
  3. 正文

解析php gd库中文乱码的产生与解决方法

作者:用户 来源:互联网 时间:2017-12-01 17:05:09

安装

解析php gd库中文乱码的产生与解决方法 - 摘要: 本文讲的是解析php gd库中文乱码的产生与解决方法, 在php jpgraph安装教程之验证php环境是否支持jpgraph安装方法的php教程中我提到了gd库的验证,对于jpgraph中文使用者来说使用jpgraph时不产生中文乱码是非常必要的,而gd库作为jpgraph类库运行在php安

在php jpgraph安装教程之验证php环境是否支持jpgraph安装方法的php教程中我提到了gd库的验证,对于jpgraph中文使用者来说使用jpgraph时不产生中文乱码是非常必要的,而gd库作为jpgraph类库运行在php安装环境下的基础,保证使用gd库时不出现中文乱码是非常必要的,之前我在验证gd库对jpgraph类库的支持时也出现使用gd函数imagettftext函数出现中文乱码的情况,下面介绍下使用php gd库出现中文乱码的原因与解决方法。

  php gd库产生中文乱码的原因

  1、服务器编码原因。由于imagettftext函数字符串参数的默认编码是UTF8,如果服务器编码不一致,而又没有进行相应的字符编码格式转换,很容易出现使用gd库输出图片时中文字符变成乱码。

  2、没有选择正确的TTF字体文件。使用gd库时如果要输出中文字符,需要选择正确的TTF字体文件。

  php gd库中文乱码解决方法

  根据之前介绍的php gd库产生中文乱码的原理,解决php gd库中文乱码的方法其实很简单。

  1、建议整站使用UTF8编码,如果你已使用的是GB2312或GBK编码,请使用iconv或自定义的gb2312与utf8转换函数进行字符编码转换。gb2312与utf8转换函数请参考PHP Ajax传值中文字符乱码如何解决。

  2、如果你是刚进行php环境搭建,建议将Apache配置文件中的默认字符集修改为UTF8,即AddDefaultCharset UTF8。

  3、如果上述方法还不行,请检查你在编译gd库时是否添加了–enable-gd-jis-conv选项,此选项是为了让gd库支持日文编码的字库,请取消此选项并重新编译。此方法我没验证过,估计主要是针对Unix下安装配置php环境。Windows环境一般不会出现这种情况,似乎默认PHP配置文件是注释掉的。

  4、使用php gd库产生中文乱码的另一个原因是没有选择正确的TTF字体,你需要选择支持中文的字体,常用的中文字体文件是simsun.ttc和simhei.ttf。

  OK,只要按照上述方法,基本上使用php gd库产生中文乱码时都能够解决。只要仔细排查其实gd库的中文乱码解决起来非常方便。

 

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索安装 的 ,以便于您获取更多的相关知识。

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

开发者常用软件,超百款实用软件一站式提供