>백엔드 개발 >PHP 튜토리얼 >php的汉字转换:Unicode(UTF8)至GBK_PHP教程

php的汉字转换:Unicode(UTF8)至GBK_PHP教程

WBOY
WBOY원래의
2016-07-20 11:04:551066검색

P>秋水无恨 GBK Unicode UTF8 汉字 转换
php的汉字转换一直是比较麻烦的事
该类内置了四个过滤"[dec];","[hex];","%u[hex]","utf8转换"
方便用户的使用,同时也可自定义过滤进行自己喜欢的操作
qswhU.php 从这里下载
http://www.blueidea.com/user/qswh/qswhU.zip
class qswhU{
 var $qswhData;
 function qswhU($filename="qswhU.php"){
  $this->qswhData=file($filename);
 }
 
 function decode($str,$pattern=0){
  $arr=array("/(w+);/iU","/((%ww)+)/i","/%u(w{4,5})/iU");
  if(is_integer($pattern)){
      if($pattern>=count($arr))die("Invalid Function");
      $pattern=$arr[$pattern];
  }
  return preg_replace_callback($pattern,array($this,"u2gb"),$str);
 }
 
 function u2gb($arr){
  /******(qiushuiwuhen 2002-8-15)******/
  $ret="";$str=$arr[1];
  if(preg_match_all("/%w{2}/",$str,$matches)){
     for($i=0;$i      $chr1=hexdec(substr($matches[0][$i],1));
      $arr=array("f0","e0","c0","0");
      for($j=0;$jhexdec($arr[$j]))break;
      $chr=hexdec(substr($matches[0][$i],1))-hexdec($arr[$j]);
      while(++$j      $str=dechex($chr);
      if(strlen($str)==4){
     $p=hexdec(substr($str,0,2))-0x4d;
     $q=hexdec(substr($str,2))*4;

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445172.htmlTechArticleP秋水无恨 GBK Unicode UTF8 汉字 转换 php的汉字转换一直是比较麻烦的事 该类内置了四个过滤#[dec];,#x[hex];,%u[hex],utf8转换 方便用户的使用,同时...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.