1

我在 Jsoup 中的 URL 有一些问题。我一直在搜索有关它的一些信息,但我找不到如何解决它。我想解析一个用 UTF-8 编写的 html 代码。我在字符串中为 jsoup 提供了一个 URL,但它具有西班牙文字符“ñ”。Jsoup 将其解码为 UTF-8,但它不能很好地工作,因为它将其转换为不同的字符对。我能做些什么?

编辑:

我已经解决了这个问题(我的本地问题),像这样用 utf8(ñ = c3b1)中的代码替换“ñ”。搜索 = España -> Espa+"c3b1"a 。谢谢大家。

4

1 回答 1

2

你可以试试这样的东西,看看它是否有效?

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

编辑:

我认为您是说您正在使用 UTF-16 构建您的 URL,但 Jsoup 假设您提供的 URL 是 UTF-8。因此,您需要将字符串从 UTF-16 转换为 UTF-8,然后再将其提供给 Jsoup。我玩过一些代码,也许它会对你有所帮助,但我不确定。我不是说这是答案,但也许它会引导你找到答案。

//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 回答