图象函数中的中文显示


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将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
浅析PHP中的UNICODE 编码与解码
Jun 29 PHP
php实现天干地支计算器示例
Mar 14 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
Nov 29 PHP
php中Ctype函数用法详解
Dec 09 PHP
php批量删除cookie的简单实现方法
Jan 26 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
May 17 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
详解Django admin高级用法
2019/11/06 Python
Pygame框架实现飞机大战
2020/08/07 Python
python GUI计算器的实现
2020/10/09 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
酒店拾金不昧表扬信
2014/01/18 职场文书
节约用水标语
2014/06/11 职场文书
销售类求职信
2014/06/13 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
2015年营业员工作总结
2015/04/23 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL