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

时间:2012-09-01 06:35:39

标签: java url exception character-encoding jsoup

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

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

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

1 个答案:

答案 0 :(得分:2)

问题出在目标页面中。它根本没有完善的形式。

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

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

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

失败了。

问题出在目标页面中。 也许你可以使用这个替代方法,它不会从页面解析charset,因为你明确地传递它:

String url = "http://www.design.cmu.edu/community.php?s=3";
Document document = Jsoup.parse(new URL(url).openStream(), "ISO-8859-1", url);