On Sunday 07 October 2007 10:31:01 pm Gael Beaudoin wrote: > Hi ! > > I'm trying to fix some annoying stuff in kopete svn trunk and the first > thing is that all accent of groups/contacts are messed up. > > After a little bit of tracking, the problem comes from method QString > MSNSocket::unescape in protocols/msn/MSNSocket.cpp#787 : > > QString str2 = QUrl::fromPercentEncoding( str.toLatin1() ); > > In the 3.5 branch we have : > > QString str2 = KURL::decode_string( str, 106 ); > > So it seems KURL works better here. KDE4 apidoc says about > KUrl::decode_string: > > "Deprecated: > use QUrl::fromPercentEncoding(encodedURL) instead, but note that it takes a > QByteArray and not a QString. Which makes sense since everything is 7 bit > (ascii) when being percent-encoded." > > The problem seems to be that str.toLatin1() mess up non latin1 characters : > accents are non latin1 character because they are utf8 encoded (in utf8, > accents are encoded using 2bytes, even if it could use the latin1 version). > > So, humm ... the fix is easy, replace by this in svn trunk : > > QString str2 = KUrl::decode_string( str ); > > Tested, it works like in 3.5 branch. > But this is deprecated and I don't have more idea for now. > Moreover, as msn uses unicode, we souldn't use toLatin1 at all I guess. > > Well, ideas ? > > Gaƫl Beaudoin (gaboo)
QUrl::toPercentEncoding( str.toUtf8() ); -- Matt _______________________________________________ kopete-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/kopete-devel
