Я использую www.vk.com api для получения данных. Эти данные должны быть в кодировке UTF8 (вы можете увидеть это на экране ниже). Но есть проблема с символами cyrilli c в строке ответа, в которую я записываю данные из моего запроса curl.
На этом экране показан пример отображения данных, когда я вызываю api в браузере:
There is code of requesting data via curl lib in cpp:
std::string json_answer;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
std::string req_string = "https://api.vk.com/method/wall.get?params";
curl_easy_setopt(curl, CURLOPT_URL, req_string.c_str());
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWrite_CallbackFunc_StdString);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &json_answer);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
/* always cleanup */
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return json_answer;
The quickwatch of json_answer string is here:
Then I parse json and insert data in oracle, in which data encoding is also UTF8:
But the result of insertion is on the screen:
введите описание изображения здесь
Вы можете мне помочь с этим вопросом? Я не понимаю, почему символы cyrilli c не интерпретируются правильно, когда я вызываю api с помощью curl.