С++ не читается русский текст

 std::ifstream in(R"(C:\Users\ArrayOfByte\Desktop\1.json)", std::ios::binary);
        if (!in.is_open()) {
            std::cerr << "Failed to open JSON file!" << std::endl;
        }

        std::string content((std::istreambuf_iterator<char>(in)), std::istreambuf_iterator<char>());
        in.close();

        try {
            json j = json::parse(content);

            Dialogs = j.at("Dialog").get<std::vector<Dialog>>();
        }
        catch (const nlohmann::json::parse_error& e) {
            std::cerr << "JSON parse error: " << e.what() << std::endl;
        }

Вот код который имеется

{
  "Dialog": [
    {
      "id": "11d",
      "dialogOwner": "MC",
      "text": "Hello World!",
      "image": "C:\\Users\\ArrayOfByte\\Downloads\\1.jpg",
      "usingButton": true,
      "choices": [
        { "TextButton": "Hello", "GoTo": "12d" },
        { "TextButton": "How are you?", "GoTo": "13d" }
      ]
    },
    {
      "id": "13d",
      "dialogOwner": "MC",
      "text": "Привет Мир!",
      "image": "C:\\Users\\ArrayOfByte\\Downloads\\1.jpg",
      "usingButton": false,
      "choices": [
        { "TextButton": "Hello world", "GoTo": "14d" }
        ]
    }
  ]
}

А вот файл чтения

Моя проблема заключается в том что код не может прочитать русские символы при том что json - UTF8, файл чтения - UTF8 При чтении content имеет вместо русской символики - беспорядок

Если json - UTF8, файл чтения - CP1251 То content имеет русские символы но json не может обрабатывать формат

Беря факт того что переобразования из cp1251 в utf8 не работает - такие же коверканные символы ( string utf = cp2utf(content) )


Ответы (0 шт):