我想问一下,在php中能不能时时的检测是某个字符串使用的是什么编码呢?在网上搜一下,没有什么收获

解决方案 »

  1.   

    http://blog.csdn.net/yw1386/archive/2009/10/14/4671845.aspx
    看看这里
      

  2.   

    可以用editplus 字符串拷贝进去 右下角有字符编码的显示
      

  3.   

    裝個 mbstring 庫
    用mb_detect_encoding可以檢查字串的編碼
      

  4.   

    编码不是由字符串本身决定的....
    'a' 既是 ascii的,也是utf8的,也是latin1的,也是gbk的......
    0xe4 0xb8 0xa5 可以是中文严(utf8),也可以是严 (3个latin1字符).....mb_detect_encoding只是根据一些编码的规律大概去猜测编码...所以它的参数里是可以指定一个编码范围的..
      

  5.   

    这个很多都检查不准哦,比如“喔唷”。
    <?php
    function check_utf8($str) {
        $len = strlen($str);
        for($i = 0; $i < $len; $i++){
            $c = ord($str[$i]);
            if ($c > 128) {
                if (($c > 247)) return false;
                elseif ($c > 239) $bytes = 4;
                elseif ($c > 223) $bytes = 3;
                elseif ($c > 191) $bytes = 2;
                else return false;
                if (($i + $bytes) > $len) return false;
                while ($bytes > 1) {
                    $i++;
                    $b = ord($str[$i]);
                    if ($b < 128 || $b > 191) return false;
                    $bytes--;
                }
            }
        }
        return true;
    } // end of check_utf8
    ?>
    可以试试上面我写的这个!