从网站中抽取的html,编码的格式是iso-8859-1,是英文的网站,得到的html,有一些乱码,出现一些类似汉字的字符,但是还不是,我的工作平台式win,这是编码问题,编码问题一直让我蒙,谁给讲一下解决办法和原理。

解决方案 »

  1.   

    转换成GBK或GB2312。
    new String(str.getBytes("8859_1"),"GBK")
      

  2.   

    转换成UTF-8,如果还不行的话,试试UTF-16,再不行的话,我在考虑考虑
      

  3.   

    都不成,都存在?  编程utf-16就更加的乱了
      

  4.   

    http://www.foot.com/shopping/product_info.php?products_id=100
      

  5.   

    网站本身没发现乱码......你那里的乱码有什么影响没?比如把抽取的html代码重新生成页面时不能正常查看之类的
      

  6.   

    就是得到的html,很多内容变成了?
    一下是我的程序,你看看那
    package bs;import java.net.*;
    import java.io.*;public class GetHtml {
    public String gethtml(String addr) { try {
    URL url = new URL(addr);
    BufferedReader br = new BufferedReader(new InputStreamReader(url
    .openStream()));
    String html = "";
    StringBuffer sb = new StringBuffer("");
    while ((html = br.readLine()) != null) {
    sb.append(html + "\r\n");
    }
    br.close(); return sb.toString();
    } catch (Exception e) {
    return addr + "is error url"; } } public static void main(String[] args) {
    GetHtml gh=new GetHtml();
    String html=gh.gethtml("http://www.foot.com/shopping/product_info.php?products_id=100");

    System.out.println(html);
    }
    }
      

  7.   

    html乱码的解决很简单,一种在文件开始处指定该文件的编码格式,另外在meta中指定浏览器的编码格式,估计后者应该能解决问题