小编Pas*_*hys的帖子

使用jsoup进行奇怪的编码行为

我用jsoup从不同页面的html源代码中提取一些信息.其中大多数是UTF-8编码的.其中一个用ISO-8859-1编码,这导致了一个奇怪的错误(在我的选择中).

包含错误的页面是:http: //www.gudi.ch/armbanduhr-metall-wasserdicht-1280x960-megapixels-p-560.html

我用以下代码读取了所需的String:

Document doc = Jsoup.connect("http://www.gudi.ch/armbanduhr-metall-wasserdicht-1280x960-megapixels-p-560.html").userAgent("Mozilla").get();
String title = doc.getElementsByClass("products_name").first().text();
Run Code Online (Sandbox Code Playgroud)

问题是字符串"HD Armbanduhr aus Metall 4GB Wasserdicht 1280X960 - 5百万像素"中的连字符.像öäü这样的正常变音符号被正确读取.只有这个单一字符,没有输出为"-" 出现问题.

我试图用out.outputSettings().charset("ISO-8859-1")覆盖(正确设置)页面编码,但这也没有帮助.

接下来,我尝试使用Charset类将字符串的编码从手动更改为utf8和iso-8859-1.也没有运气.

在使用jsoup解析html文档后,有人提示我可以尝试获取正确的字符吗?

谢谢

html java character-encoding html-parsing jsoup

3
推荐指数
1
解决办法
8558
查看次数

标签 统计

character-encoding ×1

html ×1

html-parsing ×1

java ×1

jsoup ×1