Version: (using KDE KDE 3.5.4) Installed from: Ubuntu Packages OS: Linux The error can easily reproduced: 1) Start a new mail 2) Edit Text containing german Umlauts (ä, ü, ö). More that one line to force a work wrap. 3) mark the text and change Font size to 20 to enforce a html-mail 4) save to drafts 5) open again from drafts you can see something like: =C3=84 instead of Ä (A-Umlaut) =C3==9C instead of Ö (O-Umlaut) =C3=96 instead of Ü (U-Umlaut) and somtimes in the text ==2E or similar where linebreaks happened. Sending the mail directly without storing it in as draft in between works well.
verified it with the OpenSuSE-10.1 KDE-3.5.4 vmware player image. Same problem.
Same here with KDE 3.5.4 on debian unstable. Previewing the draft looks ok, just the editor doesn't recognize it as html anymore. Content-Transfer-Encoding switches from 7bit to quoted-printable if you add umlauts. The mail still contains text/ascii and text/html parts but kmail seems to pick up the ascii one when editing a quoted-printable encoded draft. Editing a mail without umlauts properly shows the text/html part.
Can confirm this. KDE 3.5.4 "release 78.1" SuSE RPMs KMail 1.9.4 In the sent mail folder the text appears corrupted too. When "prefer text view" is the favorit view option, than the mails are unreadable. The html part seems ok (including the umlauts). Unfortunately sending such a mail resutlts in a corrupted text-only part on the receivers side too. To test this: a) create a mail as specified above in steps 1) to 3) b) address the mail to yourself. c) ensure that "prefer html-view" is NOT active! d) send and receive the mail e) as the text view is prefered you see the text-only part in the preview window. And you will encounter the corrupted characters. The html part is ok. BTW: My systems locale is UTF-8. But i think, that doesn't matter.
*** Bug 135963 has been marked as a duplicate of this bug. ***
Bug confirmed with newer KMail release: KDE 3.5.5 "release 19.1" SuSE 10.1 KMail 1.9.5
Created attachment 18944 [details] patch The bug is caused inserting not transfer encoding decoded part into editor in KMComposeWin::setMsg method. This patch add support for decoding transfer encoding and respect charset html part.
*** This bug has been confirmed by popular vote. ***
*** Bug 111421 has been marked as a duplicate of this bug. ***
*** Bug 132681 has been marked as a duplicate of this bug. ***
I can confirm that saving HTML Umlaute to draft destroys the characters as described. Sending HTML works for me.
Oh I forgot to mention that I am on KDE 3.5.6 / SVN
*** Bug 143021 has been marked as a duplicate of this bug. ***
The KMail developers do not monitor the bug system very closely, so they probably did not see the patch yet. Michal (or somebody else), please try to contact the #kontact IRC channel or the kdepim mailing list to get the patch reviewed & accepted.
SVN commit 643332 by winterz: SVN commit 643330 by winterz: Fix "Messed up text conaining german umlauts in html messages when they were saved in drafts folder and opened again from there". Patch from Michal Bukovsky, thanks Michal! BUGS: 132487 M +19 -9 kmcomposewin.cpp --- branches/KDE/3.5/kdepim/kmail/kmcomposewin.cpp #643331:643332 @@ -1844,20 +1844,32 @@ mEditor->setText( otp.textualContent() ); mCharset = otp.textualContentCharset(); - if ( mCharset.isEmpty() ) - mCharset = mMsg->charset(); - if ( mCharset.isEmpty() ) - mCharset = mDefCharset; - setCharset( mCharset ); - if ( partNode * n = root->findType( DwMime::kTypeText, DwMime::kSubtypeHtml ) ) if ( partNode * p = n->parentNode() ) if ( p->hasType( DwMime::kTypeMultipart ) && p->hasSubType( DwMime::kSubtypeAlternative ) ) if ( mMsg->headerField( "X-KMail-Markup" ) == "true" ) { toggleMarkup( true ); - mEditor->setText(n->encodedBody() ); + + // get cte decoded body part + mCharset = n->msgPart().charset(); + QCString bodyDecoded = n->msgPart().bodyDecoded(); + + // respect html part charset + const QTextCodec *codec = KMMsgBase::codecForName( mCharset ); + if ( codec ) { + mEditor->setText( codec->toUnicode( bodyDecoded ) ); + } else { + mEditor->setText( QString::fromLocal8Bit( bodyDecoded ) ); + } } + + if ( mCharset.isEmpty() ) + mCharset = mMsg->charset(); + if ( mCharset.isEmpty() ) + mCharset = mDefCharset; + setCharset( mCharset ); + /* Handle the special case of non-mime mails */ if ( mMsg->numBodyParts() == 0 && otp.textualContent().isEmpty() ) { mCharset=mMsg->charset(); @@ -1875,8 +1887,6 @@ } else mEditor->setText(QString::fromLocal8Bit(bodyDecoded)); } - - #ifdef BROKEN_FOR_OPAQUE_SIGNED_OR_ENCRYPTED_MAILS const int num = mMsg->numBodyParts(); kdDebug(5006) << "KMComposeWin::setMsg() mMsg->numBodyParts="
*** Bug 143810 has been marked as a duplicate of this bug. ***
According to Comment#14 this bug is fixed. I just updated to KDE-3.5.7 and the bug is still present. How do I reopen this bug?
Reopening due to comment 16.
Ouch. If I will ever get asked "What is your most embarrassing KDE moment?" my answer will probably Bug#132487 Comment#16. I am running Debian testing and while KDE was updated to 3.5.7 I just noticed that kontact is still at version 3.5.5.dfsg.1-6. I am very sorry for the confusion!
Closing due to comment #18.
*** Bug 155655 has been marked as a duplicate of this bug. ***