Looking further into it I solved the issue by passing c_str() to parseVCard
TDEABC::Addressee addressee = converter.parseVCard(item.c_str());
and when reading an item the same, after converting the TQString into
std::string, passing the c_str() to the item object
so in both directions now encoding is preserved.
thanks for the hints and advises, without your help I wouldn't have solved
it so fast.