我有一些HTML,其中包含一些外来字符(€,ó,á)。 HTML文档另存为UTF-8,不带BOM。当我在浏览器中查看页面时,外来字符似乎已被陌生的字符组合(â,ó,Ã)取代。只有当我将HTML文档另存为带有BOM表的UTF-8时,字符才能正确显示。
我真的不想在我的文件中包含BOM,但是有人知道为什么会这样做吗?并解决它? (不包括物料清单)
您可能未在HTML文件中指定正确的字符集。 BOM(感谢@Jukka)使浏览器进入UTF-.8模式。如果没有它,则需要使用其他方式来声明文档UTF.8。
如果您有权访问服务器配置,则可能要确保服务器没有发送错误的字符集信息。参见例如How to change the default encoding to UTF-8 for Apache?
如果您只能访问HTML,则可以在文档的头部添加此meta标记:
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
或@Mathias指出,新的HTML 5
<meta charset="utf-8">
((仅当您使用HTML 5文档类型时才有效,即使您不使用HTML 5标记,该文档类型也不再具有良好的论点。)
在<meta charset="utf-8">
中插入<head>
。或在服务器端设置标头Content-Type: text/html;charset=utf-8
。
您也可以在.htaccess
中添加:AddDefaultCharset UTF-8
更多信息,请点击http://www.askapache.com/htaccess/setting-charset-in-htaccess.html