我有一些HTML包含一些forign字符(€,ó,á)。 HTML文档保存为UTF-8,无BOM。当我在浏览器中查看页面时,forign字符似乎被替换为陌生字符组合(â€,ó,Ã)。只有当我将HTML文档保存为带有BOM的UTF-8时,才能正确显示字符。
我真的不想在我的文件中包含BOM,但是有人知道它为什么会这样做吗?以及解决它的方法? (除了包括BOM)
答案 0 :(得分:16)
您可能没有在HTML文件中指定正确的字符集。 BOM(感谢@Jukka)将浏览器发送到UTF-.8模式;在缺席的情况下,您需要使用其他方法来声明文档UTF.8。
如果您可以访问服务器配置,则可能需要确保服务器未发送错误的字符集信息。参见例如How to change the default encoding to UTF-8 for Apache?
如果您只能访问HTML,那么在文档头部添加此元标记应该可以解决问题:
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
或@Mathias指出,新的HTML 5
<meta charset="utf-8">
(仅当您使用HTML 5 doctype时才有效,即使您不使用HTML 5标记,也不再有好的参数。)
答案 1 :(得分:2)
在<meta charset="utf-8">
中插入head
或者在服务器端设置标题Content-Type: text/html;charset=utf-8
您还可以在此http://www.askapache.com/htaccess/setting-charset-in-htaccess.html
.htaccess
:AddDefaultCharset UTF-8
更多信息