From 12257d6aaaf6ef328e701a7307ec9723f4d417f6 Mon Sep 17 00:00:00 2001 From: Emanoil Kotsev Date: Wed, 12 Oct 2016 22:42:20 +0200 Subject: Fix utf8 handling in libkcal/icalformat This resolves bug 2660 Signed-off-by: Emanoil Kotsev (cherry picked from commit 63c4d2db479e17f91e61616fd736185277524d89) --- libkcal/icalformat.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libkcal/icalformat.cpp b/libkcal/icalformat.cpp index 34a4a1a92..52f4777ea 100644 --- a/libkcal/icalformat.cpp +++ b/libkcal/icalformat.cpp @@ -88,14 +88,14 @@ bool ICalFormat::load( Calendar *calendar, const TQString &fileName) return false; } TQTextStream ts( &file ); - ts.setEncoding( TQTextStream::Latin1 ); + ts.setEncoding( TQTextStream::UnicodeUTF8 ); TQString text = ts.read(); file.close(); if ( text.stripWhiteSpace().isEmpty() ) // empty files are valid return true; else - return fromRawString( calendar, text.latin1() ); + return fromRawString( calendar, text.utf8() ); } @@ -123,7 +123,8 @@ bool ICalFormat::save( Calendar *calendar, const TQString &fileName ) // Convert to UTF8 and save TQCString textUtf8 = text.utf8(); - file.file()->writeBlock( textUtf8.data(), textUtf8.size() - 1 ); + file.textStream()->setEncoding( TQTextStream::UnicodeUTF8 ); + file.file()->writeBlock(textUtf8.data(),textUtf8.size()-1); if ( !file.close() ) { kdDebug(5800) << "KSaveFile: close: status was " << file.status() << ". See errno.h." << endl; -- cgit v1.2.1