我在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'。
如果我用®
=&gt;替换字符(\ u00ae)它显示正确。
没有将我的元数据转换为ISO-8859-1,我应该使用这个最佳实践吗?
答案 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">
注意:强>
<meta charset="">
另一个注意事项: 某些字符在HTML中保留。 “Html实体” HTML中的这些保留字符必须替换为字符实体。 e.g。
& ampersand & &
® registered trademark ® ®