希伯来字符不显示在" UTF-8中没有BOM"只有" UTF-8"

时间:2017-05-03 17:44:28

标签: html encoding utf-8

我的html文档开头如下:

<!DOCTYPE html>
<html>  
<head>
<meta charset="UTF-8">
</head>
אבגד

如果我将文档编码为UTF-8,则它会在浏览器中正确显示。如果我编码为UTF-8 without BOM(我理解为更标准),我会得到不同寻常的字符。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的网络服务器声明编码为ISO-8859-1,浏览器尊重该编码。具有讽刺意味的是,使用字节顺序标记向浏览器发送更强信号,编码必须实际为UTF-8。 (确切原因是complicated and boring。)

修复Web服务器取决于服务器的内容。如果这是Apache httpd服务的磁盘上的静态资源,则AddCharset UTF-8 .html之类的内容将添加标题。

如果动态提供此资源,则应确保在生成响应时添加正确的HTTP标头,例如Python的基本http服务器self.send_header('Content-Type', 'text/html; charset=utf-8')