Umlaute in std::string (von SOAP Webservice)
-
Hallo,
ich weiß, dass Umlaute im Typ std::string eigentlich funktionieren und in einem Test auch keinerlei Probleme darstellen.
Nutze ich aber den SOAP Webdienst von openligadb, bekomme ich ein Result-Set, welches unter anderem den Team-Namen der Heim-Mannschaft beinhaltet (vom Typ std::string*).
Leider bekomme ich dann statt der Umlaute nur Fragezeichen in der Konsole zu sehen und in meinem wxWidget Control (wxDataViewListCtrl) wird das Feld garnicht erst befüllt...
Hier mal mein Code:
listCtrl = new wxDataViewListCtrl( this, -1 ); wxVector<wxVariant> data; for ( int i = 0; i < matchdata.size(); i++ ) { data.push_back( wxVariant( matchdata[ i ]->nameTeam1 ) ); data.push_back( wxVariant( matchdata[ i ]->nameTeam2 ) ); listCtrl->AppendItem( data ); data.clear(); }Wenn ich nun statt
data.push_back( wxVariant( matchdata[ i ]->nameTeam1 ) );folgendes probiere:
data.push_back( wxVariant( wxString( matchdata[ i ]->nameTeam1, wxConvUTF8 ) ) );funktioniert es leider auch nicht.
Mache ich aber:
data.push_back( wxVariant( wxString( "äöüÄÖÜß", wxConvUTF8 ) ) );Bekomme ich das Feld wunderbar befüllt.
Das Problem ist nun, ich habe durch den SOAP Webdienst keinen Einfluss auf die Daten, die mir matchdata[ i ] zurück gibt...Besteht da noch irgendeine Möglichkeit, die Felder zu befüllen bzw. die Umlaute richtig darstellen zu lassen?
Gruß
Danny.
-
Ein
wxString::From8BitData( matchdata[ i ]->nameTeam1->c_str() )hat das Problem gelöst...