gpt4 book ai didi

c++ - 未在 html head 中指定时,如何使用 cpp-netlib 读取 UTF-8 编码

转载 作者:行者123 更新时间:2023-11-28 06:06:09 25 4
gpt4 key购买 nike

我正在尝试使用 cpp-netlib(加上 boost,在 Linux 上)获取一些网站的内容。 netlib和boost都是最新版本(本周安装,没有编译问题)。

要点是:从某些站点,我获得了正确的 UTF-8 编码(如 ç、á、î 等字符正确显示)。在其他网站上,这些字符以“?”的形式出现。里面的黑色钻石。我注意到前者在 header 内有一个关于 UTF-8 编码的显式 html 标记,而另一个则没有。

我在我的代码中尝试了一些关于“header request”的东西,在浏览了一些文档和谷歌之后,但尽管我不知道我在做什么,但我没有成功。

我使用的是标准示例中给出的非常简单的代码。如下:

包括,命名空间...

  network::http::client client;
network::http::client::request request(url);
//boost::network::add_header(request, "Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
request << network::header("Connection", "close");
//request << boost::network::header("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
//request << boost::network::header("Accept", "application/x-www-form-urlencoded; charset=utf-8");
network::http::client::response response = client.get(request);
content = body(response);
cout << content;

注释掉的部分是我试图“更改 header ”以使内容被请求视为“UTF-8”的部分(我是这么认为的)。

对于新手,我们深表歉意,但我们将不胜感激任何帮助或评论。

谢谢。

最佳答案

好吧,最后,我想我的问题毫无意义。事实上,我正在尝试阅读一些网站内容,我需要将这些内容放入一个 txt 文件中。在写入文件之前,我正在写入终端,在那里我看到了奇怪的字符......来自 netlib google 组的人告诉我,我应该只写入一个文件,不会有问题。并没有。所有非 ascii 字符都正常写入文件。

最后,问题不在于读取 utf enconded(它被读取),而是关于在终端中看到它。虽然不是真正的问题,因为我真正需要的是文件中的 utf-enconding。它开箱即用。

我希望它至少能帮助像我一样陷入困境的人。

关于c++ - 未在 html head 中指定时,如何使用 cpp-netlib 读取 UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com