2
Jsoup.connect("http://www.design.cmu.edu/community.php?s=3").get();

有人可以告诉我为什么代码给了我错误:

java.nio.charset.IllegalCharsetNameException: 'ISO-8859-1'
4

1 回答 1

3

问题出在目标页面中。它根本不是格式良好的。

解析页面时,JSoup 尝试修复页面,一方面,将内容类型解析为“text/html; charset='iso-8859-1'”(包括单引号)。

然后它传递这个字符串(带单引号)并使用它来获取字符集:

Charset.forName("'ISO-8859-1'");

失败了。

问题出在目标页面中。也许您可以改用此替代方法,它不会从页面解析字符集,因为您明确地将其传递:

String url = "http://www.design.cmu.edu/community.php?s=3";
Document document = Jsoup.parse(new URL(url).openStream(), "ISO-8859-1", url);
于 2012-09-01T07:18:26.203 回答