图象函数中的中文显示


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 相关文章推荐
一些 PHP 管理系统程序中的后门
Aug 05 PHP
用php实现的下载css文件中的图片的代码
Feb 08 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
Apr 20 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
php强制下载文件函数
Aug 24 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
js异或加解密效果代码
2008/06/25 Javascript
走出JavaScript初学困境—js初学
2008/12/29 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
python装饰器decorator介绍
2014/11/21 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
python dlib人脸识别代码实例
2019/04/04 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
Python内置类型性能分析过程实例
2020/01/29 Python
英国网络托管和域名领导者:Web Hosting UK
2017/10/15 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
大学自我鉴定
2013/12/20 职场文书
群众路线领导对照材料
2014/08/23 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
六一活动主持词
2015/06/30 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
红歌会主持词
2015/07/02 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
新闻稿格式范文
2015/07/18 职场文书
关于做家务的心得体会
2016/01/23 职场文书