validateator.w3.org报告标记错误-检测到的字符编码为“ utf-8”

| 针对www.besaltnlight.ca的validator.w3.org报告: 字符编码覆盖生效! 检测到的字符编码\“ utf-8 \”已被取消,取而代之的是\“ iso-8859-1 \”。 php代码输出iso-8859-1,并将php设置为默认字符集。 是什么导致此问题?我使用的文档类型错误吗? 哦,这会导致IE中的怪癖模式吗? 谢谢你的帮助。 格里     
已邀请:
        该文档以UTF-8编码。它具有字节顺序标记,智能引号和省略号,所有这些均以UTF-8正确编码。它以两个字节的顺序标记开头,该标记无效。您必须删除其中一个,并且验证程序还说UTF-8文档中存在BOM可能会造成混淆,因此您可以将它们都删除。 由于您要输出UTF-8,因此必须将HTTP标头更改为:
Content-type: text/html; charset=utf-8
由于缺少该标头,因此您迫使浏览器进行猜测。此外,必须将meta标签更改为
<meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" />
出于同样的原因。     
        您的输出以Unicode字节顺序标记(以UTF-8编码)开头。 这可能是您的PHP文件或主文件包含的任何PHP文件的前几个字节。您的编辑器甚至可能不会显示它们。解释为ISO-8859-1,输出的开始看起来像
<!DOCTYPE html
,它们甚至是两个字节的顺序标记,一个接一个。 正如jleedev所说,请确保您的文件确实以Latin-1编码,或者将编码声明为UTF-8。     

要回复问题请先登录注册