为什么我的搜索结果与我的页面编码不在同一个字符集中?

时间:2017-08-18 19:39:04

标签: utf-8 metadata search-engine

我在html页面使用UTF-8编码。

<head>
   <meta charset="utf-8">

在调试器控制台中,document.characterSet返回“UTF-8”。

在页面上,我有一个有效的UTF-8字符的元数据(关键字,描述,标题):'®',即UTF-8:'c2ae'

字符在视图源和页面标题中正确显示。

但谷歌搜索结果和bing搜索结果显示为“Ô。也就是说,在网络爬行期间,它似乎被转换为ISO-8859-1或Western-1252,显示两个字节:'c2'和'ae'。

如果我用&#174; =&gt;替换字符(\ u00ae)它显示正确。

没有将我的元数据转换为ISO-8859-1,我应该使用这个最佳实践吗?

2 个答案:

答案 0 :(得分:1)

问题发生在后端,当从缓存中读取时,数据没有被正确地转码为UTF-8。所以,我觉得最好的做法是使用原生的UTF-8 BMP字符,使用正确的页面编码,而不是要求使用html实体值。

答案 1 :(得分:0)

查看页面元标记并确认它没有使用此标记:

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">

对于HTML5,Google建议:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">

另请注意: enter image description here

注意:

<meta charset="">

另一个注意事项: 某些字符在HTML中保留。 “Html实体” HTML中的这些保留字符必须替换为字符实体。 e.g。

&   ampersand   &amp;   &#38;

®   registered trademark    &reg;   &#174;