1

Jsoup の URL に問題があります。私はそれについていくつかの情報を検索してきましたが、それを解決する方法が見つかりません。UTF-8で書かれたhtmlコードをパースしたい。jsoup に文字列で URL を指定しましたが、スペイン語の文字 'ñ' が含まれています。Jsoup はそれを UTF-8 にデコードしますが、異なる文字のペアに変換するため、うまく機能しません。私に何ができる?

編集:

このように 'ñ' を utf8( ñ = c3b1) のコードに置き換えることで、問題 (ローカルの問題) を解決しました。search = España -> Espa+"c3b1"a . すべてのThx。

4

1 に答える 1

2

このようなものを試してみて、うまくいくかどうかを確認できますか?

Document doc = Jsoup.connect("blah").get();
doc.outputSettings().charset(Charset.forName("UTF-16"));

編集:

UTF-16 を使用して URL を構築していると言っていると思いますが、Jsoup は、フィードしている URL が UTF-8 であると想定しています。したがって、文字列を Jsoup に供給する前に、文字列を UTF-16 から UTF-8 に変換する必要があります。私はいくつかのコードをいじってみました。確かではありませんが、役立つかもしれません。それが答えだと言っているわけではありませんが、おそらく答えへの道を案内してくれるでしょう。

//I believe this code takes a UTF-8 string, creates a new UTF-16 string.  
String url = new String("http://www.google.com/search=España".getBytes(Charset.forName("UTF-8")), Charset.forName("UTF-16"));

状況に応じて切り替える必要がある場合があります。

于 2012-04-24T15:27:26.083 に答える