1

Unicode/ASCII 要素を含む HTML ページを解析したときの奇妙な動作に対処しました。ここでの例は git://gist.github.com/2995626.git です。

実行されたものは次のとおりです。

File layout = new File(html_file);
Document doc = Jsoup.parse(layout, "UTF-8");
System.out.println(doc.toString());

期待したのは HTML の三角形でしたが、「â–¼」に変換されています。何か提案はありますか?

前もって感謝します。

4

2 に答える 2

1

Jsoup は、UTF-8 を使用して HTML を完全に解析できます。さらに、それはすでにデフォルトの文字エンコーディングです。あなたの問題は他の場所で発生しています。これまでに提供された情報に基づいて、考えられる問題の原因が 2 つあります。

  1. HTML ファイルは、もともと UTF-8 を使用して保存されていません (または、おそらく 1 つ前のステップであり、元々 UTF-8 を使用して読み取られていません)。
  2. stdout (そこにSystem.out行くところ) は UTF-8 を使用しません。

両方が正しく設定されていることを確認すると、問題は解消されます。そうでない場合は、質問でこれまでに提供された情報に基づいて推測できない別の原因が考えられます。少なくとも、このブログは多くの新しい洞察をもたらすはずです: Unicode - How to get the characters right?

于 2012-07-01T04:16:45.163 に答える