图象函数中的中文显示


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 不同编码下的字符串长度区分
Sep 26 PHP
PHP导入Excel到MySQL的方法
Apr 23 PHP
PHP Global变量定义当前页面的全局变量实现探讨
Jun 05 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
PHP+JS三级菜单联动菜单实现方法
Feb 24 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
php在linux环境中如何使用redis详解
Dec 15 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下实现折线图效果的代码
2007/04/28 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
告诉你什么是javascript的回调函数
2014/09/04 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
electron中使用bootstrap的示例代码
2018/11/06 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
Python原始字符串(raw strings)用法实例
2014/10/13 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
环保倡议书范文
2014/05/12 职场文书
军训拉歌口号
2014/06/13 职场文书
个人作风建设自查报告
2014/10/22 职场文书
微观世界观后感
2015/06/10 职场文书