gpt4 book ai didi

java - HTML 标题的 Unicode 问题,问号? 65533;

转载 作者:太空狗 更新时间:2023-10-29 13:18:13 25 4
gpt4 key购买 nike

我正在尝试从以下网页解析标题:http://kid37.blogger.de/stories/1670573/

当我在标题元素上使用 apache.commons.lang StringEscapeUtils.escapeHTML 方法时,我得到以下结果

Das hermetische Caf�: Rock & Wrestling 2010

然而,当我在我的网页中使用 utf-8 编码显示它时,它只显示一个问号。

使用以下代码:

String title = StringEscapeUtils.escapeHtml(myTitle);

如果我通过这个网站运行标题:http://tools.devshed.com/?option=com_mechtools&tool=27我得到以下似乎正确的输出

标题:

<title>Das hermetische Café: Rock &amp; Wrestling 2010</title>

成为(我期待 escapeHtml 方法做的):

<title>Das hermetische Caf&eacute;: Rock &amp; Wrestling 2010</title>

有什么想法吗?谢谢

最佳答案

U+FFFD(十进制65533)是“替换字符”。当解码器遇到无效的字节序列时,它可能(取决于其配置)替换损坏的序列并继续。

“损坏”序列的一个常见原因是应用了错误的解码器。例如,解码器可能是 UTF-8,但页面实际上是用 ISO-8859-1 编码的(如果未在内容类型 header 或等效项中指定另一个,则为默认值)。

因此,在您将字符串传递给 escapeHtml 之前,“é”已被替换为“�”;该方法对此进行了正确编码。

相关页面使用 ISO-8859-1 编码。确保在将获取的资源转换为 String 时使用该解码器。

关于java - HTML 标题的 Unicode 问题,问号? 65533;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com