加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.cn/)- 运营、云管理、经验、智能边缘、云硬盘!
当前位置: 首页 > 教程 > 正文

php 自定义UTF8和cp1251函数

发布时间:2022-06-20 08:50:29 所属栏目:教程 来源:互联网
导读:当你需要从utf8转换一些数据,cp1251(窗- 1251)或cp1251到utf8你必须使用系统功能的iconv。常见的主机服务商不允许使用此功能,下面是一个php自定义UTF8和cp1251的函数: ?php */ function cp1251_to_utf8($s){ $c209 = chr(209); $c208 = chr(208); $c129
  当你需要从utf8转换一些数据,cp1251(窗- 1251)或cp1251到utf8你必须使用系统功能的iconv。常见的主机服务商不允许使用此功能,下面是一个php自定义UTF8和cp1251的函数:
 
  <?php
  */
  function cp1251_to_utf8($s){
             $c209 = chr(209); $c208 = chr(208); $c129 = chr(129);
             for($i=0; $i<strlen($s); $i++)    {
                 $c=ord($s[$i]);
                 if ($c>=192 and $c<=239) $t.=$c208.chr($c-48);
                 elseif ($c>239) $t.=$c209.chr($c-112);
                 elseif ($c==184) $t.=$c209.$c209;
                 elseif ($c==168)    $t.=$c208.$c129;
                 else $t.=$s[$i];
             }
             return $t;
         }
          function utf8_to_cp1251($s)
          {
              for ($c=0;$c<strlen($s);$c++)
              {
                 $i=ord($s[$c]);
                 if ($i<=127) $out.=$s[$c];
                     if ($byte2){
                         $new_c2=($c1&3)*64+($i&63);
                         $new_c1=($c1>>2)&5;
                         $new_i=$new_c1*256+$new_c2;
                     if ($new_i==1025){
                         $out_i=168;
                     } else {
                         if ($new_i==1105){
                             $out_i=184;
                         } else {
                             $out_i=$new_i-848;
                         }
                     }
                     $out.=chr($out_i);
                     $byte2=false;
                     }
                 if (($i>>5)==6) {
                     $c1=$i;
                     $byte2=true;
                 }
              }
              return $out;
          }
  ?>
 

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读