‘壹’ php gd画图文字乱码问题
没明白你想要干点啥,你是要在页面上实现图文混排吗?截个效果图看看先。
‘贰’ php中文乱码怎么解决
乱码需要从三个方面排除,第一数据库编码,第二php编码,第三浏览器默认编码,这三个编码必须统一
‘叁’ 为什么使用php GD库图片输出中文字会出现乱码
原因:
1、服务器编码原因。由于imagettftext函数字符串参数的默认编码是UTF8,如果服务器编码不一致,而又没有进行相应的字符编码格式转换,很容易出现使用gd库输出图片时中文字符变成乱码。
2、没有选择正确的TTF字体文件。使用gd库时如果要输出中文字符,需要选择正确的TTF字体文件。
解决方法:
根据之前介绍的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库的中文乱码解决起来非常方便。
‘肆’ php显示中文乱码
php数据库中文乱码的解决办法:1、创建数据库时,规定字符类型为uft8;2、创建表时,规定字符类型为utf8;3、在PHP的MySQL连接函数中,添加语句“mysql_query("set names 'utf8'")。
‘伍’ php的GD库imagettftext函数解决中文乱码问题
本文实例讲述了php的GD库imagettftext函数解决中文乱码问题的方法。分享给大家供大家参考。具体如下:
使用imagettftext写中文时,常出现乱码问题。解决方法是将中文字符串转为utf-8格式即可。具体代码如下(文件格式为gb2312):
复制代码
代码如下:<?php
$im
=
imagecreatefromjpeg('./1.jpg');
$w
=
imagesx($im);
$h
=
imagesy($im);
$green
=
imagecolorallocate($im,50,100,200);
$str
=
iconv('gb2312','utf-8','幸福就在身边');//解决乱码问题
imagettftext($im,16,0,200,100,$green,'./simhei.ttf',$str);
header("content-type:
image/jpeg");
imagejpeg($im);
imagedestroy($im);
?>
‘陆’ PHP 输出简单的中文 乱码问题
解决php中中文乱码问题方法
php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<metahttp-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加<metahttp-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。
(6)phpgd中文乱码扩展阅读:
解决PHP 输出简单的中文 乱码问题的其他方法:
在php的echo前面加入header("Content-Type:text/html;charset=gb2312")
把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312
‘柒’ 使用php时显示的中文变成了一堆乱码,有什么办法让中文不变乱码
网页分内码外码。内码就是<meta
http-equiv="content-type"
content="text/html;
charset=utf-8"
/>
外码就是你保存为记事本的时候所选择的文本编码,你要将二者统一。
如果你的网页编码是UTF8
那么你可以尝试将php文件以记事本的格式打开,并保存为utf8格式。
如果是GBK或gb2312
则保存为ansi
格式
则就不会出现乱码的问题。