From 85a02f7b0d1cbc92ea4273443bb95a652a5ad8ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sun, 29 May 2016 02:41:19 +0200 Subject: Fix utf8 handling in tdeabc resource cache This relates to bug 2625 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- libtdepim/tdeabcresourcecached.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libtdepim/tdeabcresourcecached.cpp') diff --git a/libtdepim/tdeabcresourcecached.cpp b/libtdepim/tdeabcresourcecached.cpp index 5cae5882d..42a06e45b 100644 --- a/libtdepim/tdeabcresourcecached.cpp +++ b/libtdepim/tdeabcresourcecached.cpp @@ -217,7 +217,9 @@ void ResourceCached::loadCache() #if defined(KABC_VCARD_ENCODING_FIX) TDEABC::Addressee::List list = converter.parseVCardsRaw( file.readAll().data() ); #else - TDEABC::Addressee::List list = converter.parseVCards( file.readAll() ); + TQTextStream s( &file ); + s.setEncoding( TQTextStream::UnicodeUTF8 ); + TDEABC::Addressee::List list = converter.parseVCards( s.read() ); #endif TDEABC::Addressee::List::Iterator it; @@ -271,7 +273,9 @@ void ResourceCached::cleanUpCache( const TDEABC::Addressee::List &addrList ) #if defined(KABC_VCARD_ENCODING_FIX) TDEABC::Addressee::List list = converter.parseVCardsRaw( file.readAll().data() ); #else - TDEABC::Addressee::List list = converter.parseVCards( file.readAll() ); + TQTextStream s( &file ); + s.setEncoding( TQTextStream::UnicodeUTF8 ); + TDEABC::Addressee::List list = converter.parseVCards( s.read() ); #endif TDEABC::Addressee::List::Iterator cacheIt; TDEABC::Addressee::List::ConstIterator it; @@ -393,7 +397,9 @@ void ResourceCached::loadChangesCache( TQMap &map, #if defined(KABC_VCARD_ENCODING_FIX) const TDEABC::Addressee::List list = converter.parseVCardsRaw( file.readAll().data() ); #else - const TDEABC::Addressee::List list = converter.parseVCards( file.readAll() ); + TQTextStream s( &file ); + s.setEncoding( TQTextStream::UnicodeUTF8 ); + const TDEABC::Addressee::List list = converter.parseVCards( s.read() ); #endif TDEABC::Addressee::List::ConstIterator it; for ( it = list.begin(); it != list.end(); ++it ) -- cgit v1.2.1