Когда я вызываю функцию tinyxml, которая принимает символ *, в каком формате Юникода мне нужно передать его?
TiXmlText *element_text = new TiXmlText(string);
Причина в том, что я использую объект wxString, и я могу дать ему много разных кодировок. Если я просто сделаю string.c_str (), объект wxstring запросит кодировку для текущей локали и создаст строку char * в этом формате. Или, если я сделаю string.utf8_str (), он пропустит строку utf-8, но похоже, что tinyxml не поймет, что он уже закодирован в utf-8, и перекодирует строку utf-8 как utf-8 (да, результат двойная кодировка utf-8). Поэтому, когда я пишу, если я установлю notepad ++ для показа utf-8, я вижу:
baŸŸlam вместо bağlam.
Я бы хотел сам выполнить кодировку в utf_8 (string.utf8_str ()), чтобы не прикасаться к ней tinyxml и просто записать ее.
Как мне это сделать? В каком формате tinyxml ожидает передачи в параметре функции (конструктор в приведенном выше коде)? Ответ от тестирования не utf-8, хотя в конечном итоге он записывается как utf-8, если это имеет смысл.