Есть ws, его response:
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<GetMessagesResponse>
<GetMessagesResult>
<Messages>
<XMLMessage MessagesKey="1071109" Sender="Pavlov" DateSend="2009-10-22T14:33:13Z">
<Subject>subject тема сообщения</Subject>
<Body>body тело сообщения</Body>
</XMLMessage>
...
Вот так получаю сообщения: // (Windows XP, VS 2005)
if (soap_call___ns1__GetMessages(&soap, NULL, NULL, &input, &output) == SOAP_OK) {
std::vector<class ns1__PairOfMessagesKeyXMLMessage * >::const_iterator it = output.GetMessagesResult->Messages->XMLMessage.begin();
while (it != output.GetMessagesResult->Messages->XMLMessage.end()) {
char time[128];
_ctime64_s(time, 128, (*it)->DateSend);
time[strlen(time) - 1] = 0;
str << (*it)->Subject.c_str() << ": " << (*it)->Body.c_str() << std::endl;
++it;
}
}
else
...
В str лежит следующее:
subject B5<0 A>>1I5=8O: body B5;> A>>1I5=8O
Что это за кодировка и как получить нормальную строку в utf8 или cp1251?