自己判断比较麻烦。
汉字的部分:
utf-8是3字节,字节开头有标志位,可以上网查一下具体的。
gbk是兼容gb2312的。都是两字节>128的字符
编码范围也可以查到。
然后用程序判断

解决方案 »

  1.   

    有几种情况了,取一个字符,转为二进制后取前8个字节,有 
    10 
    110 
    1110
    11110 
    这样开头的就是uft-8编码,
    如果是
    0x80开头的就是GBK或其它编码
    不过如果是英文或数字就无法分清了
      

  2.   

    很有意义的,因为在搞wap开发的时候,手机上送回来的字符都是utf-8的,而在IE这样的浏览器中送回来的都是gb2312的,所以如果又要支持手机又要支持模拟器访问,就必须自动区分当前送回的字符集是否未unf-8的
      

  3.   

    就算判断了不是UTF8又怎么样?字符集不是除了UTF-8就是GB2312,还有繁体,日文,韩文,阿拉伯文,泰文这么多非英文字符集你怎么判断?除非你事先知道是什么字符集,否则自动区分字符集就是浪费时间和效率。