Korean Characters in Outlook lose their encoding

Solution 1:

Because the email headers had Content-Type: application/ms-tnef; name="winmail.dat" this is a sender side issue. Sending Rich Text messages using TNEF to Internet Users should be prevented as it is proprietary: receiving clients may not recognize the winmail.dat file or the content of the message may be changed during transport. Here, the problem is probably the changed content. The best practice would be to (check your own settings and) inform the sender to check their settings.

It's strange that your example seems to have HTML in it, while winmail.dat should rather be in RTF-like format. Nevertheless, what probably happens is that when content gets changed or misinterpreted during the transport, UTF-8 < from the HTML tag gets mixed up with a hangul / hanja character. If the result is something from unknown character range, the replacement character is shown instead.

I was finally able to (almost) reproduce the situation (but not the outcomes) with the similar content for further investigation by moving a Rich Text format mixed content (hangul + hanja) message from Exchange Server's Sent Items folder into an IMAP mbox, where I had it as is.

The message is in Content-Type: multipart/mixed; and has two parts.

  • The first part is in UTF-8 encoded plain text format:

    ------=_NextPart_000_0053_01D2C361.2480F1C0
    Content-Type: text/plain;
        charset="utf-8"
    Content-Transfer-Encoding: 8bit
    
  • And the other in this troublesome TNEF format:

    ------=_NextPart_000_0053_01D2C361.2480F1C0
    Content-Type: application/ms-tnef;
        name="winmail.dat"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment;
        filename="winmail.dat"
    

The first part of this multipart MIME message is working just fine. I suppose that the first preview of your user's message was working because for some reason it showed this text/plain part and then switched to this (misinterpreted and malformed) Rich Text or HTML format later.

As a workaround, it is possible to force Outlook to always stay in plain text mode:

  1. File > Options
  2. Trust Center > Trust Center Settings...
  3. Email Security > [x] Read all standard mail in plain text