ord($var)>160 汉字
具体可参考汉字编码。

解决方案 »

  1.   

    全是汉字的检测用js的正则要容易得多
    用php需要较新的版本对utf-8判断
      

  2.   

    function IsGBK($str)
    {
      for($i=0;$i<strlen($str);$i++)
      {
         if(ord($str[$i])>0x80) $i++;
         else return false;
      }
      return true;
    }
      

  3.   

    Function IsGBK(str)
      dim tmp()
      Tmp = StrConv(str, vbFromUnicode)
      if ubound(tmp)= (len(str)-1) * 2 then 
        IsGBK=true  
      else
          IsGBK=false
      end if
    end function
      

  4.   

    ascii > x80 未必就是汉字,有可能是符号、日文什么的,始终需要utf-8检测
      

  5.   

    中文的标点也是中文呀。首字节>0xa0的是中文$str="这里写中文";
    echo preg_match("/^([\xa1-\xff].)*$/",$str)?"全是中文":"不全是";
      

  6.   

    用你的程序判断下这个?全是中文?$str="まぬのそはは";
      

  7.   

    貌似这样
    <?
    print chr(138);
    print 'u';
    ?>
    输出是
      

  8.   

    那么按照
    echo preg_match("/^([\xa1-\xff].)*$/",$str)?"全是中文":"不全是";
    输出是“不全是”
      

  9.   

    所以我觉得用Unicode 4E00–9FA5 更准确