为什么Curl / Wget会混淆这个网页的编码系统?

时间:2013-02-20 07:22:25

标签: html curl encoding web wget

例如,此页面:

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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