如题。常见的有YTF-8,GB2312等等,请问如何判断是哪类编码啊?
分不够还可以再加

解决方案 »

  1.   

    一般情况下直接通过分析网页的源文件,可以得到。一般都是如下形式的标签:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    通过分析可以查收meta标签中的content属性,再从属性中找到子属性charset的值即可以。但是也有很多网站在源文件里没有编码信息,需要从请求网页时返回的http信息头中取得。如下面的打红的内容:
    HTTP/1.0 200 OK
    Date:Mon,31Dec200104:25:57GMT
    Server:Apache/1.3.14(Unix)
    Content-type:text/html;charset=UTF-8
    Last-modified:Tue,17Apr200106:46:28GMT
    Etag:"a030f020ac7c01:1e9f"
    Content-length:39725426
    Content-range:bytes554554-40279979/40279980
      

  2.   

    IE解析编码会尝试多种方式:
    1、基于文件后缀来确定MIME类型,或者基于文件内容(可在IE选项里设置)
    2、基于HTTP协议头中指示的编码
    3、预读512或1024字节的内容,尝试以UTF-8的格式读取它,做一次预扫描,找到head标签中的meta标签,并寻找是否有编码属性
    4、以上所有都不能确定的话以默认UTF-8的格式来解析。