图象函数中的中文显示


Posted in PHP onOctober 09, 2006

把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);

?>

PHP 相关文章推荐
基于mysql的论坛(5)
Oct 09 PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
Sep 29 PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
php轻松实现文件上传功能
Mar 03 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
php实现的一段简单概率相关代码
May 30 PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 PHP
Laravel5.1 框架路由基础详解
Jan 04 PHP
使用php+xslt在windows平台上
Oct 09 #PHP
配置PHP使之能同时支持GIF和JPEG
Oct 09 #PHP
PHP输出控制功能在简繁体转换中的应用
Oct 09 #PHP
PHP 增加了对 .ZIP 文件的读取功能
Oct 09 #PHP
如何去掉文章里的 html 语法
Oct 09 #PHP
如何分别全角和半角以避免乱码
Oct 09 #PHP
玩转虚拟域名◎+ .
Oct 09 #PHP
You might like
php的access操作类
2008/04/09 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
Javascript的闭包
2009/12/31 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
phpquery中文手册
2021/03/18 PHP
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
Eclipse面试题
2014/03/22 面试题
报社实习生自荐信
2014/01/24 职场文书
运动会通讯稿50字
2014/01/30 职场文书
保研推荐信
2014/05/09 职场文书
关于保护环境的标语
2014/06/09 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
分居协议书范本
2014/11/03 职场文书
就业推荐表导师评语
2014/12/31 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书