Проблема в отображении русских символов в JSON файле

Такая проблема, проект пишется на языке c++/cli, все поля для ввода имеют тип String^, нужно сделать вывод в json-файл, но он не принимает тип String^, я нашел рабочий метод преобразования из String^ в string с помощью маршала, но русские символы не отображаются(вместо них другие буквы)

#include <msclr\marshal.h>
#include <msclr\marshal_cppstd.h>

namespace ns {
            struct user {
            string login;
            string name;
            string surname;
        };
    }

String^ login = textBox1->Text;
String^ name = textBox2->Text;
String^ surname = textBox3->Text;

string newlogin = marshal_as<std::string>(login);
string newname = marshal_as<std::string>(name);
string newsurname = marshal_as<std::string>(surname);

ns::user obj = {newlogin,newname,newsurname};
json j;
j["login"] = obj.login;
j["name"] = obj.name;
j["surname"] = obj.surname;
std::ofstream o("test.json");
o << j << std::endl;

Использую библиотеку nlohmann, для json.


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