1

例如,这个页面:

http://www.bilibili.tv/sitemap/sitemap-29.html

以 utf-8 编码。但是当我使用wgetcurl将其保存为文件时,例如:

curl http://www.bilibili.tv/sitemap/sitemap-29.html > 29.html

然后使用网络浏览器打开它。我发现它无法识别正确的编码系统。有人对此有想法吗?

4

1 回答 1

0

如果您使用网络浏览器并直接尝试从文件系统打开文档,这与通过 www.bilibili.tv 网络服务器访问它不同。在 HTML 内容本身旁边,网络服务器会发送多个 HTTP 响应,其中 Content-Type 是其中之一。在这种情况下,它很可能会发送:

Content-Type: text/html; charset=utf-8

这将指示浏览器它接收到的文档是 HTML,以 UTF-8 编码。通过文件系统访问相同的 HTML 内容时缺少此信息。浏览器将尝试从内容本身推断字符集,但这可能会失败,就像您的情况一样。

于 2013-02-20T15:53:44.497 回答