网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   代码交流 (https://www.0058.net/forumdisplay.php?f=16)
-   -   php中GB2312转UTF8的三种方法 (https://www.0058.net/showthread.php?t=3229)

car 2008-05-01 09:47 AM

php中GB2312转UTF8的三种方法
 
按照性能从高到低依次是iconv,mbstring和自制字库,下面的代码简单演示了一下!其他代码互转也差不多
PHP CODE

--------------------------------------------------------------------------------

<?
function encode_conver($subject,$function){
switch ($function){
case 1:
$subject=iconv("GB2312","UTF-8",$subject);
break;
case 2:
$subject=mb_convert_encoding($subject, "UTF-8", "GB2312");
break;
case 3:
$subject=gb2utf8($subject);
break;
}
return $subject;
}
function gb2utf8($string)
{
$ut="";
$gb=file("./gbk.txt");
$gb=explode("|",$gb[0]);
$utf=file("./utf8.txt");
$utf=explode("|",$utf[0]);
$gb=array_flip($gb);
while ($string){
$st=substr($string,0,1);
$string=substr($string,1);
if (ord($st)<128){
$ut.=$st;
} else {
$st.=substr($string,0,1);
$string=substr($string,1);
$ut.=$utf[$gb[$st]];
}
}
return $ut;
}?>


All times are GMT +8. The time now is 09:24 PM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.