社区
基础编程
帖子详情
gd不支持中文该怎么办
chiny
2003-03-13 10:41:21
按照客户的要求做个图形显示,但是gd不支持中文,很示烦恼.
...全文
44
4
打赏
收藏
gd不支持中文该怎么办
按照客户的要求做个图形显示,但是gd不支持中文,很示烦恼.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuzuning
2003-03-13
打赏
举报
回复
首先你需要有一张对照表
然后执行下面的函数:gb2312.txt
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);
$ret="";
$utf8="";
while($gb)
{
if (ord(substr($gb,0,1))>127)
{
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb));
$utf8=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
for($i=0;$i<strlen($utf8);$i+=3)
$ret.=chr(substr($utf8,$i,3));
}
else
{
$ret.=substr($gb,0,1);
$gb=substr($gb,1,strlen($gb));
}
}
return $ret;
}
function u2utf8($c)
{
for($i=0;$i<count($c);$i++)
$str="";
if ($c < 0x80) {
$str.=$c;
}
else if ($c < 0x800) {
$str.=(0xC0 | $c>>6);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x10000) {
$str.=(0xE0 | $c>>12);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
else if ($c < 0x200000) {
$str.=(0xF0 | $c>>18);
$str.=(0x80 | $c>>12 & 0x3F);
$str.=(0x80 | $c>>6 & 0x3F);
$str.=(0x80 | $c & 0x3F);
}
return $str;
}
chiny
2003-03-13
打赏
举报
回复
如果一段文字本来就是个变量,我怎样转?
将汉字转换utf-8编码,怎么实现?
xuzuning
2003-03-13
打赏
举报
回复
转换汉字编码到utf-8编码,用ImageTTFText输出。
wuxyun
2003-03-13
打赏
举报
回复
<?php
/******************************
如何在PHP图形函数中显示汉字,大家已经问了很久了,但一直没有结果。终于在参考另一篇文章后,我试验出来了!
方法:
首先,决定要显示哪些汉字,如“计数器”这三个字。
到Word2000(97不知可不可以)中去,输入这三个字,另存为,选择编码格式,然后再在右边的编码类型里选择unicode utf-8,记住不要选错了。存成一个编码格式的文本文件,比如说文件名叫test.txt。
用一个16进制的编辑器打开这个文件,这时你会看到,里面有一堆16进制字符,一个汉字占三个字节,所以这里,你应该找到前面9个字节的内容,记下来。
再开始编辑.php文件,用如chr(0xE6).chr(0x88)的格式写下来,再赋给一个变量,再用ImageTTFText()函数输出。你看到了什么?
如果你什么都没看到,那么你需要再看一下你的那些16进制代码是否无误,当然,显示汉字所需的字体文件你也要拷到适当的位置哦!我这段程序中用的是windows自带的楷体。
不过这样还是很麻烦,毕竟还需要用到另外两个工具,如果能有一个函数直接将汉字转换成utf-8编码就更好了。大家再找找资料吧!
这一串utf-8字串表示的是“我爱你!”,嘻嘻,不要说我恶心哦!
******************************/
$str=chr(0xE6).chr(0x88).chr(0x91).chr(0xE7).chr(0x88).chr(0xB1).chr(0xE4).chr(0xBD).chr(0xA0).chr(0xEF).chr(0xBC).chr(0x81) ;
$cur_count=mb_convert_encoding($str,"UTF-8","ASCII");
Header("Content-type: image/png");
$im = imagecreate(156,116);
$blue = ImageColorAllocate($im, 0,0,255);
$yellow = ImageColorAllocate($im, 255,255,0);
ImageTTFText($im,20,0,4,40,$yellow,"simkai.ttf",$blue);
ImagePNG($im);
ImageDestroy($im);
?>
把simkai.ttf拷到同一目录;
Ok!
借花现佛
GD
32F303RCT6
中文
数据手册
GD
32F303xx 器件属于
GD
32 MCU 系列的主流产品线。它是一种基于ARM ® Cortex ®-M4 RISC内核的32位通用微控制器,在增强处理能力、降低功耗和外围设备方面具有最佳性价比。Cortex®-M4 核心功能实现了一套完整的 ...
GD
32F4系列用户手册
GD
32的F4系列用户手册,能够
支持
最高主频168M,M4内核,
支持
FPU
PHP使用
GD
库输出汉字的方法【测试可用】
PHP中的
GD
库
支持
中文
,但是必须要以UTF-8格式的参数来进行传递。下面先说一下汉字的UTF-8编码的求得。 1. 用WORD2000或WINDOW 2000下的记事本编辑所要显示的汉字。 2. 把所编辑的文字存成格式为UTF-8格式的文件。 3....
GD
32E23x
中文
用户手册.pdf
现在最火的芯片
GD
32E230 好像去年才推出来的,价格超便宜,大概只有7块钱,而且是72兆32位, 大家快来用,国产的!
支持
国产,义不容辞代替STM32
使用
GD
库生成带阴影文字的图片
在网站上
GD
库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。
GD
库的安装什么的网上都有,现在很多虚拟空间也都
支持
,这里就不再赘述。下面通过我实际应用代码的...
基础编程
21,887
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章