<?php
 
  $a=imagecreatetruecolor(300,200);
 
  imagepng($a);
  imagedestroy($a);  ?>
  
 用php生成一个图片 输出的是乱码 用echo输出的内容又不乱码啊

解决方案 »

  1.   


    header('Content-Type: image/png');//加这一句
      $a=imagecreatetruecolor(300,200);
      
      imagepng($a);
      imagedestroy($a);
      

  2.   

    这些都试过了  // header("Content-type:text/html; charset=utf-8");
      // header('Content-Type:text/html; charset=gb2312'); 
     //header("content-type:image/png");
      

  3.   

    如果不对,那很可能是你的文件,带bom头
    仅可见代码部分,经测试,没有问题
      

  4.   

    先用imageallocate配置颜色,然后再用head函数输出给客户端,试下?
      

  5.   

    输出图片是不能输出其他文字的。
    就是不能imagepng($a);又echo ****。
    imagepng($a);这样的php页面是当图片文件看待的。在其他页面用<img src="***.php" />引用。
      

  6.   

    去掉 BOM 头    也没用
      

  7.   

    <img src="该文件地址" />
      

  8.   

    对于PHP输出图片的时候会出现乱码现象。产生乱码的原因有很多,最常见的就是因为在输出图片之前有其他内容输出,导致图片能不能正常输出。
      出现这种现象的原因就在于这个函数:      header("Content-type:image/jpeg");     注意:header函数的作用在于告诉浏览器下面的内容要以什么方式输出,比如:          header("Content-type:html/text");表示告诉浏览器后面要的内容要以html文本形式输出;          header("Content-type:application/stream"); 表示告诉浏览器后面的内容要以字节流的形式输出;         header("Content-type:image/jpeg");表示告诉浏览器后面的内容要以图片的形式输出。看原文解决办法:http://www.phpnewer.com/index.php/Cjwt/detail/id/10
      

  9.   

    header("Content-type:image/png");
    $a = imagecreate(100,100);
    imagecolorallocate($a,255,0,255);
    imagepng($a);
    imagedestroy($a);试下这样看有没有输出