php专区

 首页 > php专区 > PHP应用 > php函数大全 > php 自定义UTF8和cp1251函数 - php函数

php 自定义UTF8和cp1251函数 - php函数

分享到:
【字体:
导读:
          当你需要从utf8转换一些数据,cp1251(窗- 1251)或cp1251到utf8你必须使用系统功能的iconv。常见的主机服务商不允许使用此功能,下面是一个php自定义UTF8和cp1251的函数:...

php 自定义UTF8和cp1251函数

当你需要从utf8转换一些数据,cp1251(窗- 1251)或cp1251到utf8你必须使用系统功能的iconv。常见的主机服务商不允许使用此功能,下面是一个php自定义UTF8和cp1251的函数:

  1. */ 
  2. function cp1251_to_utf8($s){ 
  3.            $c209 = chr(209); $c208 = chr(208); $c129 = chr(129); 
  4.            for($i=0; $i<strlen($s); $i++)    { 
  5.                $c=ord($s[$i]); 
  6.                if ($c>=192 and $c<=239) $t.=$c208.chr($c-48); 
  7.                elseif ($c>239) $t.=$c209.chr($c-112); 
  8.                elseif ($c==184) $t.=$c209.$c209
  9.                elseif ($c==168)    $t.=$c208.$c129
  10.                else $t.=$s[$i]; 
  11.            } 
  12.            return $t
  13.        } 
  14.         function utf8_to_cp1251($s
  15.         { 
  16.             for ($c=0;$c<strlen($s);$c++) 
  17.             { 
  18.                $i=ord($s[$c]); 
  19.                if ($i<=127) $out.=$s[$c]; 
  20.                    if ($byte2){ 
  21.                        $new_c2=($c1&3)*64+($i&63); 
  22.                        $new_c1=($c1>>2)&5; 
  23.                        $new_i=$new_c1*256+$new_c2
  24.                    if ($new_i==1025){ 
  25.                        $out_i=168; 
  26.                    } else { 
  27.                        if ($new_i==1105){ 
  28.                            $out_i=184; 
  29.                        } else { 
  30.                            $out_i=$new_i-848; 
  31.                        } 
  32.                    } 
  33.                    $out.=chr($out_i); 
  34.                    $byte2=false; 
  35.                    } 
  36.                if (($i>>5)==6) { 
  37.                    $c1=$i
  38.                    $byte2=true; 
  39.                } 
  40.             } 
  41.             return $out
  42.         } 
  43. ?> 
分享到:
php iconv mb_convert_encoding编码转换...
php iconv mb_convert_encoding编码转换函数 用iconv函数: iconv( "utf-8", "gb2312" , "abc阳光123"); 据说这样好些,可以忽略转换时的错误! iconv( "utf-8", "gb2312//ignore" , "abc阳光123"); mb_convert_encoding的用法见官方: http://cn.php.net/manual/zh/function.mb-conver...
浅析rawurlencode()和urlencode()函数区...
浅析rawurlencode()和urlencode()函数区别 今天在阅读开源代码时发现了一个URL的编码函数:rawurlencode(),以前一直没有注意过,因为在平时的开发上主要使用的是 urlencode(),故专门研究了一番. 其实这两个函数的区别很简单,它们两个都会把URL中的非英文字符进行转义,替换成"%"后跟两位十六进...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……