用iconv+imagettftext,输出中文字符,哪里错了

rapanda 2011-04-18 07:22:26
代码:
$im=imagecreatetruecolor(200,200);
$red=imagecolorallocate($im,255,0,0);
$green=imagecolorallocate($im,0,255,0);
$blue=imagecolorallocate($im,0,0,255);

imagefill($im,0,0,$blue);

$name=iconv("gd2312","utf-8","盼盼");


imagettftext($im, 25, 0, 60, 90, $red, "STCAIYUN.ttf",$name);

header("content-Type:image/jpeg");
imagejpeg($im);

我想输出,盼盼两个中文字符
...全文
181 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rapanda 2011-04-22
  • 打赏
  • 举报
回复
晕,只是手误,把gb2312写成gd2132,呵呵
木目子 2011-04-19
  • 打赏
  • 举报
回复

error_reporting(E_ALL);

$im=imagecreatetruecolor(200,200);
$red=imagecolorallocate($im,255,0,0);
$green=imagecolorallocate($im,0,255,0);
$blue=imagecolorallocate($im,0,0,255);

imagefill($im,0,0,$blue);

$name=iconv("gd2312","utf-8","盼盼");


imagettftext($im, 25, 0, 60, 90, $red, "STCAIYUN.ttf",$name);

//header("content-Type:image/jpeg");
//imagejpeg($im);


这样看有没有错误,把错误代码贴出来
lazyboy_wu 2011-04-18
  • 打赏
  • 举报
回复
gd库用unicode编码,也就是等同与html实体编码(&#xxxx;)


<?php
$im=imagecreatetruecolor(200,200);
$red=imagecolorallocate($im,255,0,0);
$green=imagecolorallocate($im,0,255,0);
$blue=imagecolorallocate($im,0,0,255);

imagefill($im,0,0,$blue);

//$name=iconv("gd2312","utf-8","盼盼");
$name = mb_convert_encoding("盼盼", 'HTML-ENTITIES', 'GBK');

// 我没有你的字体
imagettftext($im, 25, 0, 60, 90, $red, "SIMYOU.ttf",$name);

header("content-Type:image/jpeg");
imagejpeg($im);


LuciferStar 2011-04-18
  • 打赏
  • 举报
回复
GB2312
Ali 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 maquan 的回复:]

引用 4 楼 rapanda 的回复:
没有报错,我错误提示设置了,在ie9里是一个叉叉,在chrome中,啥都没有
去掉incov后,出现图像,没有字符。。

从这个现象判断,很可能是你的 PHP 配置里没有启用 iconv() 功能。


————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢……
[/Quote]

missing extension would have popped-up a error something like undefine function call ....

//Ali
maquan 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 rapanda 的回复:]
没有报错,我错误提示设置了,在ie9里是一个叉叉,在chrome中,啥都没有
去掉incov后,出现图像,没有字符。。
[/Quote]
从这个现象判断,很可能是你的 PHP 配置里没有启用 iconv() 功能。


————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
Ali 2011-04-18
  • 打赏
  • 举报
回复
what is in error_log ?

//Ali
rapanda 2011-04-18
  • 打赏
  • 举报
回复
没有报错,我错误提示设置了,在ie9里是一个叉叉,在chrome中,啥都没有
去掉incov后,出现图像,没有字符。。
乌镇程序员 2011-04-18
  • 打赏
  • 举报
回复
error_reporting(E_ALL);
看看报什么错误。
rapanda 2011-04-18
  • 打赏
  • 举报
回复
thank you all the same。Issue is not resolved
我的目录下有那个字体文件,不是这个问题。。。
Ali 2011-04-18
  • 打赏
  • 举报
回复
This line is causing the problem:

imagettftext($im, 25, 0, 60, 90, $red, "STCAIYUN.ttf",$name);

Make sure STCAIYUN.ttf is present in same location as your script file. Or you can set php environment variable GDFONTPATH to location of fonts.

Hope it helps.

//Ali

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧