图象函数中的中文显示


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 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
我的论坛源代码(九)
Oct 09 PHP
PHP 采集程序 常用函数
Dec 18 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 PHP
PHP大神的十大优良习惯
Sep 14 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 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
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
jQuery 树形结构的选择器
2010/02/15 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
js 上传图片预览问题
2010/12/06 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
Python中的多重装饰器
2015/04/11 Python
Python的requests网络编程包使用教程
2016/07/11 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
详解Django配置JWT认证方式
2020/05/09 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
入党自我鉴定范文
2013/10/04 职场文书
演讲比赛策划方案
2014/06/11 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
高三化学教学反思
2016/02/22 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
Pandas搭配lambda组合使用详解
2022/01/22 Python