检测是否有中文

摘要:中文在很多地方会造成乱码或者失败的情况

    /**
     * TODO 检查是否含有中文
     *
     * @param string $str
     * @return bool
     */
    function check_zh($str='')
    {
        if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $str)>0) {
            //UTF8下全部为中文
            return true;
        } else if(preg_match('/[\x{4e00}-\x{9fa5}]/u', $str)>0) {
            //UTF8下存在中文
            return true;
        }else if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)>0) {
            //GB2312下全部为中文
            return true;
        }else if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]/", $str)>0) {
            //GB2312下存在中文
            return true;
        }else {
            echo false;
        }
    }
评论