从网页获取奇怪的字符

时间:2014-07-22 08:45:47

标签: java html web

我正在用Java编写一个程序来解析网页中的一些文本。但是当我使用下面的代码时,我会得到奇怪/不正确的字符。

代码:

    URL url = new URL(getSearchUrl(crit));
    URLConnection connection = url.openConnection();
    BufferedReader br = new BufferedReader(
            new InputStreamReader(connection.getInputStream(), "UTF-8"));
    String line;

    while((line = br.readLine()) != null){
        System.out.println(line);
    }

    br.close();

我得到以下输出:

  

?} V· 8 ???? ...

那么我做错了什么?我知道我想收集信息的网站使用utf-8。

编辑:我目前在Crotia。我尝试过其他一些我知道在塞尔维亚(我的祖国)工作的程序,但它在这里没有用。

1 个答案:

答案 0 :(得分:1)

它是g-zipped。你可以使用connection.getContentEncoding()看到它。

如果您在GZIPInputStream周围使用connection.getInputStream(),它应该会更好。

BufferedReader br = new BufferedReader(
                new InputStreamReader(new GZIPInputStream(connection.getInputStream()), "UTF-8"));