最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • php 检测是否为utf-8还是gb2312编码

    在php中检测字符串编码的方法有很多,最常用的就是直接使用mb_detect_encoding函数了,但还有更高级的办法就是使用字符的ascii值来判断.

    例1代码如下:

    function is_utf8($str)  
    { 
    $c=0; $b=0; 
    $bits=0; 
    $len=strlen($str); 
    for($i=0; $i<$len; $i++){ 
    $c=ord($str[$i]); 
    if($c > 128){ 
    if(($c >= 254)) return false; 
    elseif($c >= 252) $bits=6; 
    elseif($c >= 248) $bits=5; 
    elseif($c >= 240) $bits=4; 
    elseif($c >= 224) $bits=3; 
    elseif($c >= 192) $bits=2; 
    else return false; 
    if(($i+$bits) > $len) return false; 
    while($bits > 1){ 
    $i++; 
    $b=ord($str[$i]); 
    if($b < 128 || $b > 191) return false; 
    $bits--; 
    } 
    } 
    } 
    return true; 
    } 

    1、方法1,代码如下:

    function mb_is_utf8($string)    
    {    
        return mb_detect_encoding()($string, 'UTF-8') === 'UTF-8';//新发现    
    }  

    2、方法2,代码如下:

    function preg_is_utf8($string)    
    {    
        return preg_match('/^.*$/u', $string) > 0;//preg_match('/^./u', $string)    
    }
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » php 检测是否为utf-8还是gb2312编码
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情