在PHP的图形函数中显示汉字

  • A+
所属分类:PHP编程

如何在PHP图形函数显示汉字,大家已经问了很久了,但一直没有结果。终于在参考另一篇文章后,我试验出来了!

方法:

首先,决定要显示哪些汉字,如“计数器”这三个字。

到Word2000(97不知可不可以)中去,输入这三个字,另存为,选择编码格式,然后再在右边的编码类型里选择unicode utf-8,记住不要选错了。存成一个编码格式的文本文件,比如说文件名叫test.txt。

用一个16进制的编辑器打开这个文件,这时你会看到,里面有一堆16进制字符,一个汉字占三个字节,所以这里,你应该找到前面9个字节的内容,记下来。

再开始编辑.php文件,用如chr(0xE6).chr(0x88)的格式写下来,再赋给一个变量,再用ImageTTFText()函数输出。你看到了什么?

如果你什么都没看到,那么你需要再看一下你的那些16进制代码是否无误,当然,显示汉字所需的字体文件你也要拷到适当的位置哦!我这段程序中用的是windows自带的楷体。

不过这样还是很麻烦,毕竟还需要用到另外两个工具,如果能有一个函数直接将汉字转换成utf-8编码就更好了。大家再找找资料吧!

这一串utf-8字串表示的是“我爱你!”,嘻嘻,不要说我恶心哦!

  1. ******************************/
  2. $cur_count=chr(0xE6).chr(0x88).chr(0x91).chr(0xE7).chr(0x88).chr(0xB1).chr(0xE4).chr(0xBD).chr(0xA0).chr(0xEF).chr(0xBC).chr(0x81) ;
  3. Header("Content-type: image/gif");
  4. $im = imagecreate(156,116);
  5. $black = ImageColorAllocate($im, 0,0,0);
  6. $blue = ImageColorAllocate($im, 0,0,255);
  7. $white = ImageColorAllocate($im, 255,255,255);
  8. $yellow = ImageColorAllocate($im, 255,255,0);
  9. ImageTTFText($im,20,0,4,40,$yellow,"simkai.ttf",$cur_count);
  10. ImageGif($im);
  11. ImageDestroy($im);
  12. ?>