仓酷云

标题: PHP网站制作之图像函数中的中文显示[转],记得有人问... [打印本页]

作者: 山那边是海    时间: 2015-2-4 00:17
标题: PHP网站制作之图像函数中的中文显示[转],记得有人问...
在学习中,我也一直这样要求着自己。函数|显示|中文   zlm 2001年6月7日

把它EMAIL给我 我来谈谈我的意见 上一篇 下一篇



在www.phpx.com上读到一段代码,是把GB码转换到UTF8,php中TTF撑持UTF8编码的非ASCII字符输入.在剖析这段代码以后,发明可以完成中文与ASCII夹杂输入图像,如许在咱们操作图像函数时可以更便利.
代码以下:
<?

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;
}
?>


--------------------------------------------
<?
Header ("Content-type: image/jpeg");
$im = imagecreate (800, 400);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
include("gb2utf8.php");
$str=gb2utf8("aaa中过32434");
ImageTTFText ($im, 90, 10, 110, 300, $white, "/usr/share/fonts/default/TrueType/simsun.ttc",
$str);

ImageJPEG ($im);
ImageDestroy ($im);

?>

GB2312.txt文件请到www.phpx.com上找.

  怎么样出来了吧,怎么样自己也可以写出php程序了,虽然离职业和专业的人还有很远,但是好的开始是成功的一半。这个时候改怎么做了呢。现在就是拿1本高手推荐的书,重头到尾读1遍,我说的这个读是自己看。
作者: 简单生活    时间: 2015-2-4 10:45
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 再见西城    时间: 2015-2-9 22:14
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 冷月葬花魂    时间: 2015-2-12 06:27
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 愤怒的大鸟    时间: 2015-2-17 00:09
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 金色的骷髅    时间: 2015-2-24 13:26
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 小女巫    时间: 2015-3-4 00:30
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 海妖    时间: 2015-3-11 14:14
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 兰色精灵    时间: 2015-3-18 17:51
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 因胸联盟    时间: 2015-3-26 06:39
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 山那边是海    时间: 2015-3-31 02:27
做为1门年轻的语言,php一直很努力。
作者: 若天明    时间: 2015-4-6 00:38
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 灵魂腐蚀    时间: 2015-4-23 10:10
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 爱飞    时间: 2015-4-24 04:45
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 莫相离    时间: 2015-4-29 20:05
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 精灵巫婆    时间: 2015-5-10 20:38
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 不帅    时间: 2015-6-11 14:22
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 飘飘悠悠    时间: 2015-6-29 16:06
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 谁可相欹    时间: 2015-7-1 20:48
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 活着的死人    时间: 2015-7-19 21:12
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2