Thanks very much for getting back to me! Yes, I'm talking about the summary.
Your code works as designed: garbage in garbage out. However, some groups, like mine, have a need to support multiple languages. The use case is for people communicating in several languages, e.g., Japanese students studying Russian. Some mail clients, like outlook.live.com are uni-lingual.
Tests on my test group indicate that the plain text portion contains characters that, when displayed as utf-8 (the charset that I used to send the message), show up correctly in the body of the message but not in the summary. That indicates to me that you are doing something different to the characters when you display the summary than when you display the message contents. In this case, there is nothing wrong with the characters themselves. The only garbage is that their charset has been wrongly declared