当前位置: 首页 > 图文教程 > 网络编程 > PHP > 在 PHP 中用描点法“绘制”中文
为了实现更多的自动控制,可以使用CGI(Common Gateway Interface)程序来实现这些功能。
软件需求:
PHP:GD Library
配置支持PHP的服务器。我用OmniHTTPd Professional
对于计数器和实时数据统计、发布,我们可以用图片来完成。在图片中输出文字。
在PHP中,要创建一个图片,并在上面显示点内容,基本步骤如下:
<?php
//http头,告诉浏览器,这是一个GIF图片
header ("Content-type: image/gif");
// 要画画,先要有花布不是?创建一个400×300调色板图像
$im = imagecreate (400, 300);
$black = imagecolorallocate ($im, 0, 0, 0);
// 默认黑色背景。
//(默认,是指第一个定义的颜色。如果在此行代码前面定义了另一个颜色,那么,最先定义的那个,就是默认背景颜色。)
$red = imagecolorallocate ($im, 255, 0, 0);
//红色。如果这两行交换,你会发现背景是红色,文字是黑色。
$string="1234567890";
// 要绘制的字符
imagestring ($im,12,10,10,$string,$red);
//在(10,10)开始绘制字符串
imagepng ($im);
// 以png格式输出,也可以用imagejpeg($im);或magegif($im);但后者,如果GD版本高于1.6,就不能用了。
imagedestroy ($im);
// 结束,清除所有占用的内存资源
?>
然而,有一个问题。
你可以用imagestring()输出如下的信息:
imagestring($im,1,0,0,"abcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()_+{}|:"<>?[]';,./",$red);
可是,你无法正确输出中文!!!
imagestring($im,1,0,0,"啊",$red);
你看到的,决不是中文!!而是乱码。
PHP默认的字符集是UTF-8,而简体中文是GB2312。
如何解决?!
为了解决这个问题,你可以让PHP加载扩展模块php_iconv.dll(UNIT下的后缀名是.SO),不过,有时候,可能不能正常工作。本来,我要把一段测试代
评论 (0) All