public static function checkChar($str, $gbk = true)
    {
        for ($i = 0; $i < strlen($str); $i++) {
            $v = ord($str[$i]);
            if ($v > 127) {
                if (($v >= 228) && ($v <= 233)) {
                    if (($i + 2) >= (strlen($str) - 1)) return $gbk ? true : FALSE;  // not enough characters
                    $v1 = ord($str[$i + 1]);
                    $v2 = ord($str[$i + 2]);
                    if ($gbk) {
                        return (($v1 >= 128) && ($v1 <= 191) && ($v2 >= 128) && ($v2 <= 191)) ? FALSE : TRUE;//GBK
                    } else {
                        return (($v1 >= 128) && ($v1 <= 191) && ($v2 >= 128) && ($v2 <= 191)) ? TRUE : FALSE;
                    }
                }
            }
        }
        return $gbk ? TRUE : FALSE;
    }
public static function checkChar($str, $gbk = true)
    {
        for ($i = 0; $i < strlen($str); $i++) {
            $v = ord($str[$i]);
            if ($v > 127) {
                if (($v >= 228) && ($v <= 233)) {
                    if (($i + 2) >= (strlen($str) - 1)) return $gbk ? true : FALSE;  // not enough characters
                    $v1 = ord($str[$i + 1]);
                    $v2 = ord($str[$i + 2]);
                    if ($gbk) {
                        return (($v1 >= 128) && ($v1 <= 191) && ($v2 >= 128) && ($v2 <= 191)) ? FALSE : TRUE;//GBK
                    } else {
                        return (($v1 >= 128) && ($v1 <= 191) && ($v2 >= 128) && ($v2 <= 191)) ? TRUE : FALSE;
                    }
                }
            }
        }
        return $gbk ? TRUE : FALSE;
    }
public static function checkChar ( $ str , $ gbk = true ) { for ( $ i = 0 ; $ i < strlen ( $ str ) ; $ i ++ ) { $ v = ord ( $ str [ $ i ] ) ; if ( $ v > 127 ) { if ( ( $ v >= 228 ) && ( $ v <= 233 ) ) { if ( ( $ i + 2 ) >= ( strlen ( $ str ) - 1 ) ) return $ gbk ? true : FALSE ; // not enough characters $ v1 = ord ( $ str [ $ i + 1 ] ) ; $ v2 = ord ( $ str [ $ i + 2 ] ) ; if ( $ gbk ) { return ( ( $ v1 >= 128 ) && ( $ v1 <= 191 ) && ( $ v2 >= 128 ) && ( $ v2 <= 191 ) ) ? FALSE : TRUE ; //GBK } else { return ( ( $ v1 >= 128 ) && ( $ v1 <= 191 ) && ( $ v2 >= 128 ) && ( $ v2 <= 191 ) ) ? TRUE : FALSE ; } } } } return $ gbk ? TRUE : FALSE ; }
Checks if the string is encoded by GBK

@param string $str
@param boolean $gbk
@return boolean
Checks if the string is encoded by GBK