这是我的页面标题:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
...
正如您所看到的,charset设置为utf-8但Chrome / Firefox不会将该页面打印为utf-8。我想那是因为服务器发送了这个标题:
Content-Type:text/html; charset=ISO-8859-15
如何从html页面覆盖此标题?
答案 0 :(得分:6)
你不能。
HTTP标头优先于声称等效的元素。
修复服务器设置,以便发送正确的内容类型。
答案 1 :(得分:1)
您无法覆盖html页面中的charset。需要注意的事项:
您的Web服务器可能配置了默认字符集。看看你是否可以改变它。请注意:这可能是一个全局设置,会影响特定Content-Type
的所有文件。
尽管你已经在html文档中输入了charset=UTF-8
,但你的IDE /文本编辑器可能仍然使用不同的字符编码保存它。如果您使用* nix,则可以在命令行上的任何文件上检查文件编码,如下所示:
file -I filename.html
如果该命令的输出报告的不是UTF-8
或us-ascii
,您应该返回IDE /文本编辑器并找出如何在其保存的文件上设置字符编码UTF-8
。您的Web服务器可能会自动检测字符编码并相应地设置标题。
答案 2 :(得分:0)
您可以通过添加包含以下内容的.htaccess文件来更改服务器标头:
AddDefaultCharset UTF-8