带有HTML标题的Unicode问题,问号?65533;

我正在尝试从以下网页解析标题:http :

//kid37.blogger.de/stories/1670573/

当我在title元素上使用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编码的(如果未在content-

type标头中指定其他名称或等效名称,则为默认值)。

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

有问题的页面使用ISO-8859-1编码。将获取的资源转换为时,请确保您正在使用该解码器String

以上是 带有HTML标题的Unicode问题,问号?65533; 的全部内容, 来源链接: utcz.com/qa/417691.html

回到顶部