java - 从 utf8 格式的网站获取内容

标签 java utf-8

我想知道如何从utf8格式的网站获取内容,,

我已经写了下面的代码是

try {
        String webnames = "http://pathivu.com";

        URL url = new URL(webnames);

        URLConnection urlc = url.openConnection();

        //BufferedInputStream buffer = new BufferedInputStream(urlc.getInputStream());
        BufferedReader buffer = new BufferedReader(new InputStreamReader(urlc.getInputStream(), "UTF8"));

        StringBuilder builder = new StringBuilder();

        int byteRead;

        while ((byteRead = buffer.read()) != -1)
            builder.append((char) byteRead);

        buffer.close();

        String text=builder.toString();

        System.out.println(text);
    } 
catch (IOException e) 
{
    e.printStackTrace();

}

但是我无法得到正确的格式...

感谢并提前..

最佳答案

问题可能是您的控制台或 System.out 不是 UTF-8。

  • 尝试将其写入文件
  • 通过System.setOut(..)设置控制台流

您可能必须使用 -Dfile.encoding=utf-8OutputStreamWriter

关于java - 从 utf8 格式的网站获取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2582696/

相关文章:

java - a4j :ajax listener exception MethodNotFoundException

java JFrame getLocationOnScreen 返回错误结果? @Ubuntu

java - 从内部类调用外部类的同步方法

servlets - request.getQueryString() 似乎需要一些编码

java - 如果我添加/删除/更新可靠集合的元素, hibernate 会增加版本吗?

java - Spring XML 配置 - 如何定义 Instant、BigDecimal、...参数?

firefox - 为什么firefox没有utf-8编码?

Python Markdown 模块因 unicode 转换、utf-8 而卡住

python html从命令行转义utf-8

c# - 在 C 中比较 Unicode 字符串返回与 C# 不同的值