如何从cURL HTTP响应中检索代码页?

时间:2011-06-22 14:38:57

标签: c++ http unicode curl

我使用lib-cURL作为HTTP客户端来检索各种页面(可以是任何URL)。
通常数据以UTF-8字符串形式出现,然后我只调用“MultiByteToWideChar”,它运行良好。

然而,一些网页仍然使用代码页编码,如果我尝试将这些页面转换为UTF-8,我会看到乱码。

是否有一种从数据中检索代码页的简单方法?或者我必须手动扫描(对于“encoding =”),然后相应地进行翻译。

如果是这样,我如何从名称(Code Page Identifiers)获取代码页ID?

谢谢,
奥马尔

2 个答案:

答案 0 :(得分:1)

文档可以在多个位置说明其编码:

  • Content-Type HTTP标头
  • (可选)XML声明
  • 文档标题中的Content-Type元标记
  • for HTML5记录了charset元标记。

我可能已经忘记了更多。

最后,检测实际编码相当困难。你真的不应该自己这样做,而是使用高级库来检索和解析HTML内容。我确信它们甚至可用于C ++,即使它们必须在浏览器环境中被窃听。 :)

答案 1 :(得分:0)

我在IMultiLanguage2 interface中使用了DetectInputCodepage,效果很好!