最好是用javascript的函数来判断

解决方案 »

  1.   

    判断ascii码在不在256之内,不是的话,就是双字节的
      

  2.   

    oracle 本身有 LENGTHB 等相应的方法可以知道字段的字节长度,其他的数据库不知是否有相应的东西。
    至于楼上说的,判断 ascii 码不在 256 内的就是双字节不敢苟同,很多常见的编码是不固定长度的,有些则是固定的三字节或者四字节的
      

  3.   

    String str = "1qaz挖空心思";        
            int count = 0;
            
            char aa = 'a';
            for (int i=0;i<str.length();i++) {
                aa = str.charAt(i);
                count++;
                if ((int)(aa) > 256) {
                    count++;
                }               
            }
            
            System.out.println("length: " + count);
      

  4.   

    多谢,再请问有用javascript判断的方法么?想在表单提交前判断
      

  5.   

    function getLen(s){
    var _len = 0;
    if (s == null) {
      return 0;
    }
    if (s.length != 0){
    for (var i=0;i<s.length;i++){
             if ((/[^\x00-\xff]/).test(s.charAt(i)))
              _len += 2;
             else
              _len++ ;
           }
    }
    return _len;
    }