我有一些包含一些外语字符(€,ó,á)的HTML。该HTML文档以UTF-8格式保存,没有BOM。当我在浏览器中查看页面时,外语字符似乎被替换为更奇怪的字符组合(€,ó,Ã)。只有当我将HTML文档保存为带有BOM的UTF-8时,字符才能正确显示。
我真的不想在我的文件中包含BOM,但有人知道它可能是为什么吗?是否有其他方法来解决它?(除了包含BOM)
我有一些包含一些外语字符(€,ó,á)的HTML。该HTML文档以UTF-8格式保存,没有BOM。当我在浏览器中查看页面时,外语字符似乎被替换为更奇怪的字符组合(€,ó,Ã)。只有当我将HTML文档保存为带有BOM的UTF-8时,字符才能正确显示。
我真的不想在我的文件中包含BOM,但有人知道它可能是为什么吗?是否有其他方法来解决它?(除了包含BOM)
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
正如 @Mathias 所指出的那样,新的HTML 5
<meta charset="utf-8">
(仅在使用HTML 5 doctype的情况下有效,即使您不使用HTML 5标记,也没有任何好的理由反对使用HTML 5 doctype。)
<meta charset="utf-8">
就可以了。(如果你在2012年还没有使用HTML5 DOCTYPE,那么你就错了。) - Mathias Bynens€
等-这意味着浏览器没有听取BOM,不是吗?(重新阅读问题...) - Pekka<meta>
就不足以说服它使用文件编码。例如在 Apache 中,您需要一个 AddDefaultCharset Off
指令,它可以在大多数配置下的该目录的 .htaccess
文件中使用。 - tchrist<head>
中插入<meta charset="utf-8">
。或者在服务器端设置头部Content-Type: text/html;charset=utf-8
。您还可以在 .htaccess
中添加 AddDefaultCharset UTF-8
,更多信息请参考 http://www.askapache.com/htaccess/setting-charset-in-htaccess.html。<meta charset="utf-8">
仅适用于 HTML5。对于 HTML4 及更早版本,请使用 <meta http-equiv-"Content-Type" content="text/html; charset=utf-8">
。 - Remy Lebeau
meta
标签中指定了字符集吗? - Another Code