>php教程 >php手册 >织梦之UTF-8 转GB编码

织梦之UTF-8 转GB编码

WBOY
WBOY원래의
2016-06-21 08:57:431300검색

编码

/******************************
//UTF-8 转GB编码
*******************************/
function utf82gb($utfstr)
{
 global $UC2GBTABLE;
 $okstr = "";
 if(trim($utfstr)=="") return $utfstr;
 if(empty($UC2GBTABLE)){
  $filename = dirname(__FILE__)."/data/gb2312-utf8.table";
  $fp = fopen($filename,"r");
  while($l = fgets($fp,15))
  { $UC2GBTABLE[hexdec(substr($l, 7, 6))] = hexdec(substr($l, 0, 6));}
  fclose($fp);
 }
 $okstr = "";
 $ulen = strlen($utfstr);
 for($i=0;$i {
  $c = $utfstr[$i];
  $cb = decbin(ord($utfstr[$i]));
  if(strlen($cb)==8){
   $csize = strpos(decbin(ord($cb)),"0");
   for($j=0;$j     $i++; $c .= $utfstr[$i];
   }
   $c = utf82u($c);
   if(isset($UC2GBTABLE[$c])){
    $c = dechex($UC2GBTABLE[$c]+0x8080);
    $okstr .= chr(hexdec($c[0].$c[1])).chr(hexdec($c[2].$c[3]));
   }
   else
   { $okstr .= "".$c.";";}
  }
  else $okstr .= $c;
 }
 $okstr = trim($okstr);
 return $okstr;
}

 



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.