if (!_iptcData.empty()) { if ( !exifText.isEmpty() ) exifText += QString::fromLatin1( "
" ); QTextCodec* default_codec = QTextCodec::codecForCStrings(); for (Exiv2::IptcData::iterator md = _iptcData.begin(); md != _iptcData.end(); ++md) { std::string value_ss = md->value().toString(); char *value_c = value_ss.c_str(); QTextCodec* codec = QTextCodec::codecForContent(value_c, value_ss.len()); exifText += QString::fromLatin1( "%1: %2
" ) .arg( QString(md->key().c_str()) ) .arg( QString(value_c) ); } QTextCodec::setCodecForCStrings(default_codec); }