为什么我的搜索结果与我的页面编码不在同一个字符集中?
Why are my search results not in the same charset as my page encoding?
我正在为 html 页面使用 UTF-8 编码。
<head>
<meta charset="utf-8">
在调试器控制台中,document.characterSet returns "UTF-8"。
在该页面上,我的元数据(关键字、描述、标题)具有有效的 UTF-8 字符:'®',即 UTF-8:'c2ae'
该字符在视图源代码和页面标题中正确显示。
但是 google 搜索结果和 bing 搜索结果将其显示为“î”。也就是说,在网络抓取期间,它似乎正在转换为显示两个字节的 ISO-8859-1 或 Western-1252:'c2' 和 'ae'。
如果我用 ®
=> (\u00ae) 替换字符,它会正确显示。
没有将我的元数据转换为 ISO-8859-1,是否有我应该使用的最佳实践?
查看页面元标记并确认它没有使用此:
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
对于HTML5Google推荐:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
另请注意:
注:
<meta charset="">
另注:
HTML 中保留了一些字符。 "Html Entities"
HTML 中的这些保留字符必须用字符实体替换。
例如
& ampersand & &
® registered trademark ® ®
问题出在后端,从缓存中读取数据时,数据未正确转码为 UTF-8。所以,我觉得最好的做法是使用本机 UTF-8 BMP 字符,使用适当的页面编码,并且不需要使用 html 实体值。
我正在为 html 页面使用 UTF-8 编码。
<head>
<meta charset="utf-8">
在调试器控制台中,document.characterSet returns "UTF-8"。
在该页面上,我的元数据(关键字、描述、标题)具有有效的 UTF-8 字符:'®',即 UTF-8:'c2ae'
该字符在视图源代码和页面标题中正确显示。
但是 google 搜索结果和 bing 搜索结果将其显示为“î”。也就是说,在网络抓取期间,它似乎正在转换为显示两个字节的 ISO-8859-1 或 Western-1252:'c2' 和 'ae'。
如果我用 ®
=> (\u00ae) 替换字符,它会正确显示。
没有将我的元数据转换为 ISO-8859-1,是否有我应该使用的最佳实践?
查看页面元标记并确认它没有使用此:
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
对于HTML5Google推荐:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
另请注意:
注:
<meta charset="">
另注: HTML 中保留了一些字符。 "Html Entities" HTML 中的这些保留字符必须用字符实体替换。 例如
& ampersand & &
® registered trademark ® ®
问题出在后端,从缓存中读取数据时,数据未正确转码为 UTF-8。所以,我觉得最好的做法是使用本机 UTF-8 BMP 字符,使用适当的页面编码,并且不需要使用 html 实体值。