![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
相关问题
代码是这样的
[PHP]
<?php
$image = imagecreatefromjpeg('haha.jpg'); //我例子里的图片打算做成4个行,2个列文字的图片
$white = imagecolorallocate($image,0xff,0xff,0xff);
$black = imagecolorallocate($image,0x00,0x00,0x00);
$all = $_GET['text'];//可以从url里直接?text=x来设置变量
$allg=iconv("gb2312","utf-8","$all");//开启php_iconv扩展,将gb2312的$all转化为utf8
for ( $i=0 ; $i<4 ; $i++){
imageTTFTEXT($image,15,0,195,25+$i*20,$black,'simyou',substr("$allg",$i*2,3));//用imageTTFTEXT输出truetype的字体,并且用substr截取输入字段(第一行截第1,2个字,第2行截3,4个字,最多8个字)最后的3是因为utf8的中文都是3个字节的
};
header("content-type = image/jpg");
imagejpeg($image)
?>
[/PHP]
写到这里我发现一个问题,substr无法正确处理被utf8编码过的英文和中文,试了很多办法都不行。请问有什么办法能够解决这个问题?
代码是可以执行的,可是最多正确显示1个汉字。。。。
提问者:ngfeiyan 08-15 17:05
答复

