iconv()字符之间的转换

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

一个朋友问我怎样用php和gd输出带中文字符的图片,我当然是叫他先到网上搜索一番的,结果,他说都只找到一个用码表进行转换(gb2unicode?)的方法,问我有没有更好的,更快一点的方法。

那当然是有的,而且要快多了,也容易多了,那就是iconv,当然,这要求你有管理员的权限,在安装了libiconv之后,在把php用--with-iconv参数配置编译,或者生成独立的扩展模块,都行,以后,就可以直接用iconv函数来转化了。像下面这样子:

<?php

header("content-type:image/gif");

$pic=imagecreate(500,400);

$black=imagecolorallocate($pic,150,150,150);

$color=imagecolorallocate($pic,5,5,5);

$font1="/home/share/font/simli.ttf";

$font2="/home/share/font/simhei.ttf";

$font3="/home/share/font/simsun.ttf";

$font4="/home/share/font/simyou.ttf";

$str1=iconv("gb2312","UTF-8","离离原上草,一岁一枯荣。");

$str2=iconv("gb2312","UTF-8","野火烧不尽,春风吹又生。");

$str3=iconv("gb2312","UTF-8","远芳侵古道,青翠接荒城。");

$str4=iconv("gb2312","UTF-8","又送王孙去,萋萋满别情。");

//imagettftext($pic,16,0,155,365,$color,$font1,$str1);

//imagettftext($pic,16,0,155,405,$color,$font2,$str2);

//imagettftext($pic,16,0,155,445,$color,$font3,$str3);

//imagettftext($pic,16,0,155,485,$color,$font4,$str4);

imagegif($pic);

imagedestroy($pic);

?>

主要有效的语句是$str=iconv("gb2312","UTF-8","中文字符串");

看看,多简单啊!当然,在没有安装libiconv以及php扩展的时候,用转换码表是唯一的选择了。这里写出来,给大家多一个参考吧。

另外,我用的libiconv是1.7版的,从gb2312到utf-8很正常,但是到big5就不正常了,当然我不用繁体,这也没什么大不了的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航