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 はページを修正しようとし、1 つには、コンテンツ タイプを "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 に答える