wo ding , 
怎么没人呀?

解决方案 »

  1.   

    編碼問題吧。妳的php服務器不支持中文?
      

  2.   

    刚有人问过。你可以转换成utf-8格式。也可以用imagettftext
      

  3.   

    因为PHP的图像输出函数不支持GB2312编码的汉字,所以输出的汉字都变成了乱码,要想汉字显示不出现乱码,必须要将GB2312的编码转换成UTF8编码(UTF8编码也是一种编码规范,php中的字体支持UTF8编码的非ASCII字符输出)。你需要在php文件中include一个叫gb2utf8.inc的文件,这个文件功能就是把GB2312转为utf8。//....
    include"gb2utf8.inc"
    //包含进制转换文件$str1=gb2utf8("显示汉字");
    //转换显示中文ImageTTFText(.........$str1);
    //将文本输出到图像上//.....
      

  4.   

    也可参考这个帖子:http://www.phpx.com/happy/showthread.php?s=3695bc5d99e9736b36dd0e516ff414c9&threadid=63213&perpage=15&pagenumber=1
      

  5.   

    FAQ里也有哈http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=97062
      

  6.   

    to: zigz
    我试了你给的代码,
    但是 执行时提示 gb2utf8("显示汉字")函数没定义!
    为什么?
      

  7.   

    gb2utf8.inc 我壓根就找不到此檔案
      

  8.   

    1、连接php_iconv扩展库
    $str = iconv("GB2312","UTF-8",$str);2、使用gb2utf8.inc文件,注意该文件还需要一个gb2312.txt文件
    <? function gb2utf8($gb) { 
      if(!trim($gb)) 
        return $gb; 
      $filename="gb2312.txt"; 
      $tmp=file($filename); 
      $codetable=array(); 
      while(list($key,$value)=each($tmp)) 
      $codetable[hexdec(substr($value,0,6))]=substr($value,7,6); 
     
      $utf8=""; 
      while($gb) { 
        if(ord(substr($gb,0,1))>127) { 
          $this=substr($gb,0,2); 
          $gb=substr($gb,2,strlen($gb)-2); 
          $utf8.=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080])); 
        }else { 
          $this=substr($gb,0,1); 
          $gb=substr($gb,1,strlen($gb)-1); 
          $utf8.=u2utf8($this); 
        } 
      } /*$ret=""; 
    for($i=0;$i<strlen($utf8);$i+=3) 
    $ret.=chr(substr($utf8,$i,3)); return $ret;*/ return $utf8; 

    function u2utf8($c) 

    for($i=0;$i<count($c);$i++) 
    $str=""; 
    if ($c < 0x80) { 
    $str.=$c; 

    else if ($c < 0x800) { 
    $str.=chr(0xC0 | $c>>6); 
    $str.=chr(0x80 | $c & 0x3F); 

    else if ($c < 0x10000) { 
    $str.=chr(0xE0 | $c>>12); 
    $str.=chr(0x80 | $c>>6 & 0x3F); 
    $str.=chr(0x80 | $c & 0x3F); 

    else if ($c < 0x200000) { 
    $str.=chr(0xF0 | $c>>18); 
    $str.=chr(0x80 | $c>>12 & 0x3F); 
    $str.=chr(0x80 | $c>>6 & 0x3F); 
    $str.=chr(0x80 | $c & 0x3F); 

    return $str; 

    ?> 
      

  9.   

    不错,用iconv函数转换一下,将其转换为UTF-8格式,然后通过ImageTTFText函数将其画出.