解决php使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题

编程之家收集整理的这篇文章主要介绍了解决php使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

碰到PHP使用GD图像库绘制输出图像出现乱码问题和图片输出中文出现乱码问题,今天找了不少方法,总算找到一个可以解决方法

源码:

<html>
 <head>
  <title>PHP 图像测试</title>
 </head>
 <body>
 <?PHP 
        #创建背景图像
$im = @imagecreate(500,500) or die("没有安装GD图像库<br>");
#设置背景颜色
        $bgCol=imagecolorallocate($im,255,0,0);
#设置字体颜色
$texCol=imagecolorallocate($im,255,255,0);
$motto = "I love my baby! 我家宝贝聪明可爱漂亮";
        $motto = iconv("gb2312", "utf-8", $motto);
#在背景图像上输入文字
imagestring($im,3,5,5,$motto,$texCol);
#输出图像
header("Content-Type: image/png");
imagepng($im);
#清除所有资源
imagedestroy($im);
 ?>
</body>
</html>@H_502_5@

运行后得到的结果:

 <html>
 <head>
  <title>PHP ͼ������</title>
 </head>
 <body>
 �PNG
IHDR���M�PLTE���lۜ�IDATx���1
�0�ᔀ]*��W�:/�ر��C����ɥ��1N���?^������M��c��N���>t1�+�w�1
�Z۷�+��<��7���y�ݏ�.�}�T�ݧ_��?�/o�m��IEND�B`�</body>
</html>@H_502_5@

(1)解决方法:在$im = @imagecreate(500,500) or die("没有安装GD图像库<br>");前面加上ob_clean();先清除缓冲区。即可显示图片,但图片上的文字只能显示英文和数字,中文会出现乱码。

(2)imagestring 默认英文编码,只支持UTF-8,所以中文会出现乱码,应采用imagettftext($im,10,30,0,100,$texCol,"c:/windows/fonts/simhei.ttf",$motto);。

"c:/windows/fonts/simhei.ttf",系统自带的黑体。

以上就是图片输出乱码和图片中文乱码的解决方法

总结

以上是编程之家为你收集整理的解决php使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题全部内容,希望文章能够帮你解决解决php使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群:1065694478(已满)
编程之家官方2群:163560250(已满)
编程之家官方3群:312128206

相关文章

猜你在找的PHP相关文章

这篇文章主要为大家详细介绍了PHP实现倒计时功能,文中示例代码介绍的非常详细,具有一定的参考价值。
php从session取数据乱码 php – 从$_SESSION获取数据 怎么解决?我正在尝试创建简单的服务器端验证,这是我的方法public function create() {
nginx 默认是不支持 PATHINFO 模式的,需要修改下 nginx 的配置文件。server { listen 80; root /var/www/html; index index.html index.htm index.php; server_name _; location / { try_files $...
1.headerheader("Content-Type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=sample.xls");
队列是一种线性表,按照先进先出的原则进行的:PHP实现队列:第一个元素作为队头,最后一个元素作为队尾/** * 队列就是这么简单 * * @link */$array =  array('PHP', 'JAVA');array_push($array, 'PYTHON'); //入队列array_shift($array); //出队列什么是双端队列(或双向队列)
javascript实现:top.location.href 顶级窗口的地址this.location.href 当前窗口的地址PHP实现#测试网址: http://localhost/blog/testurl.php?id=5//获取域名或主机地址 echo $_SERVER['HTTP_HOST'].""; #localhost
PHP 魔术变量PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。有八个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:__LINE__
1.获取上个月第一天及最后一天. echo date('Y-m-01', strtotime('-1 month')); echo ""; echo date('Y-m-t', strtotime('-1 month')); echo "";2.获取当月第一天及最后一天. $BeginDate=date('Y-m-01', strtotime(date("Y-m-d