【问题标题】:HTML files with no http-equiv meta tag and the charset may be other than UTF-8没有 http-equiv 元标记且字符集可能不是 UTF-8 的 HTML 文件
【发布时间】:2014-04-13 10:51:13
【问题描述】:

我们正在使用 jsoup - 非常感谢。

我们可能会得到没有 http-equiv 元标记的 HTML 文件,并且字符集可能不是 UTF-8。 请问这个怎么处理最好。我们可以有一个编码列表并尝试它们,但我不确定如何以编程方式判断是否有问题。 jsoup 会抛出 IOException 吗?

【问题讨论】:

    标签: html character-encoding jsoup


    【解决方案1】:

    Jsoup 将尝试通过 content type headerhttp equiv tag 来确定编码,如果您没有它们,它将使用 utf8。不确定 jsoup 是否可以在这里为您做更多的事情。

    但你可以尝试另一种方法:

    实现一个为您读取文件的类。在那里,您可以处理所有编码问题。因此,这样的类应该为您提供正确的编码字符串,或者至少为您的输入提供编码。

    (html input) --> [encoding class] --normalized encoding--> [jsoup] --> (whatever)   
    

    Jsoup 现在可以使用已知编码解析该输入。

    我猜想改变 html-creation 是不可能的,不是吗?

    进一步阅读:

    【讨论】:

    • 谢谢。阅读:joelonsoftware.com/articles/Unicode.html 有帮助。
    • 也有帮助。现在我undersatnd 更好的字符集与编码。我将所有设置都设置为 UTF-8。我放了一些中文
    • 抱歉出现乱码。谷歌搜索提出 jsoup 不支持中文和日文字符集的建议。请问是这样吗。在 UTF-8 下,其他一切似乎都可以正常工作。
    • 我没有用亚洲字符集测试过jsoup,但是如果你使用java的方法处理字符串然后用jsoup解析它也会失败。
    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 2017-02-03
    • 2011-06-09
    • 2012-08-29
    • 2012-07-19
    • 2019-07-31
    • 2012-01-02
    相关资源
    最近更新 更多