首页 > 解决方案 > Jsoup connect(url) 获取编码

问题描述

使用 Jsoup 连接到 URL 时遇到一些问题,我无法设置 HTML 的编码,标签中的文本仅显示为“?”。我已经在论坛和文档中进行了彻底的搜索,但我无法提出任何可行的解决方案。

这是运行 Jsoup 连接时给我带来问题的 HTML 部分之一

口音问题

运行连接时的结果是这样的:

打印的 HTML

如果我尝试使用解析器,我会收到以下消息:“请启用 JavaScript 以查看页面内容”

正如stackoverflow中的一些线程所述,我已经更改了输出编码以检查问题是否存在,但结果是相同的。我尝试将内容保存到正确iso中的文件中,但效果不佳,输出与问号相同。

我正在使用的代码段非常简单,因为我只是想获取 HTML:

Document doc = Jsoup.connect(a)
        .header("Content-Type", "application/x-www-form-urlencoded")
        .postDataCharset("ISO-8859-1") // tried other encodings but no success as well, same output
        .get();

System.out.println(doc);

在使用Jsoup的connect().get()之前有人遇到过这个问题吗?

更新

使用另一个站点没有出现问题:

String a = "https://flatschart.com/html5/descricao.html";
        
Document doc = Jsoup.connect(a)
        .header("Content-Type", "application/x-www-form-urlencoded")
        .postDataCharset("ISO-8859-1")
        .get();
        
System.out.println(doc);

输出

标签: javajsoup

解决方案


推荐阅读