Why does my email sometimes show up with funny characters like "=0D" in it?

Email can often use complex methods to encode special or even not-so-special characters. Occasionally those methods become accidentally visible.

//

I’m one of the moderators on a large email discussion list. Quite often when we receive a message for approval it might be full of what I can only call “funny characters” or character sequences. They always begin with an equals sign, though. For example things like =0D=0A and =3D appear throughout the message.

But wait, this gets even more odd. If we allow such a message to go through to our list, most members who receive the messages individually don’t see this oddness; messages look just fine to them. And yet, members who receive these messages in a periodic digest see the same funny characters as we moderators do.

What’s up what that?

You’d think that with plain-text email having been around for as long as it’s been issues like this would have been resolved by now.

The problem is that there’s “plain text” email, and then there’s “plain text” email. That’s correct – not all “plain text” is created equal.

When you see something like =3D, what you’re seeing is a single character in what’s called “quoted-printable” encoding. “=3D” is, in fact, an equal sign. =0D is a Carriage Return (CR), =0A is a Line Feed (LF), and =0D=0A is a CRLF combination. CR, LF and CRLF are all used to indicate the end of a line of text in plain text emails. In fact any character can be represented as a three charter “=” sequence in quoted-printable. “=41=73=6B=20=4C=65=6F=21″ for example is “Ask Leo!” in full quoted-printable encoding.

Why is “quoted-printable” used?

Email envelopeIt’s one of several encodings that get around the fact that once upon a time not all mail servers and network transports could handle what are called “non-printable” characters, like CR and LF, or certain types of special non-alphanumeric characters. CR and LF don’t cause anything to be displayed or printed, they just “mean something” (the end of a line) – that’s why they’re called “non printable”. That can confuse older email software when they’re part of a message. So these special characters are representing using something else that doesn’t confuse the old mailers. A CR is represented as =0D – three printable characters. And since the equal sign is part of that encoding scheme, even though it’s “printable”, it also needs to be encoded, hence the =3D.

So what’s happening with my mailing list approvals?

…not all ‘plain text’ is created equal.

The approvals are coming to you in “raw” form. Your mailing list software has most likely removed or overridden the mail header information that says “this is quoted-printable” and hence your mail program doesn’t know that it should decode the encoded characters. It simply believes that it’s unencoded plain text email, and it should just be displayed as-is.

I can live with that for approvals, but what about digests?

A digest is a collection of emails bundled up into a single message. The “problem” is that some of those messages could be encoded using “quoted-printable”, others could be encoded using something else, and others could just unencoded plain text. In theory the mailing list software could decode, but obviously it doesn’t. (I would assume that it most likely has valid reasons for not trying.) As a result, like the moderation messages you’re seeing, the messages are appended to each digest in raw form. And the digest itself can’t say “this is quoted-printable”, because most likely not all the messages it contains are.

Great. So what do I do?

As a list owner or moderator, there’s not much you can do to the list itself. The “solution” is to ask your list members to change their message encoding. It’s much like asking them not to send HTML formatted emails, but simply a different setting.

From what I’ve seen, Outlook Express is the most common culprit. In Outlook Express go to the Tools menu,
Options item, Send tab. Now, under Mail Sending Format click on Plain Text Settings…. In the resulting dialog:

Plain Text Settings

Make sure that MIME is selected (it probably is), and Encode text using is set to None.

In Outlook the default for English installations is no encoding, but that can be overridden by a registry setting as outlined in this Microsoft Knowledgebase article: How Outlook applies encoding to plain text e-mail  messages in Outlook 2003 and Outlook 2002.

In Thunderbird, in Tools, Options, in the Composition section:
Composition Options
You can make sure that “For message that contain 8-bit characters, use ‘quoted-printable’ MIME encoding” is unchecked. Most email you compose will not trigger this, but if you ever edit in another application such as a word processor, and then paste the results into your mail program, it can happen.

Naturally, various other mailers will have (or hide) this option in other locations. Check the settings related to mail composition and format.

There are 10 comments:

  1. Laura Baum Reply

    Using Vista Windows mail. Ever email I send is received with this string of Chinese characters,
    [characters removed]

    How can I stop it?

  2. tom cauley Reply

    Help I have the same problem as Laura above. My emails from Vista, Windows Mail have like a paragrapgh of what looks like Chinese letters. I use this for business, am looking for a job and it’s getting embarrassing, especially when I send out a resume.
    Thanks,
    Tom

  3. Bill McGarry Reply

    Near the end of the article, there is a link titled ” How Outlook applies encoding to plain text e-mail messages in Outlook 2003 and Outlook 2002.” with the URL of http://ask-leo.com/d-kb278134 This comes back as Page Not Found. I tried using search and could not find it there. But I did notice that every search that I did came back with the last result being the the Page Not Found page (and that’s how it showed up in the search results).
    Thanks!

    Fixed it. Thanks!

    - Leo
    24-Apr-2009
  4. Glenn P. Reply

    I have very long been familiar with mail headers; I’ve LONG ago become all-to-acquainted with the:

                                    Content-Type: “Quoted-Printable; Format-Flowed”

    header line. I use Unix Pine, which does NOT always correctly decode Quoted-Printable, and to say that I HATE, DETEST, and LOATHE this encoding would be a vast understatement. Even more insidiously, Pine may correctly decode the E-Mail within the viewer, but God help me if I try to export the message as text! When I open the message later to read it — what a nasty surprise, because Pine does NOT decode on Export, it merely writes the message “as-is”! Aaarrrrggghhh!!!

    Pine will (alas!) happily ENCODE Quoted-Printable, so if by chance I make some kind of ghastly misstep with my own text, that’s how my E-Mail may go out, any settings of mine to the contrary notwithstanding. That is something I try VERY hard to avoid, GRRRRR!

  5. Doc Ray Reply

    Here some info that I found with this problem: after much troubleshooting, I found in Windows mail my staionary was set to “My Stationary” which apparently had some bad code in it which produced the Chinese characters. In Windows Mail, go to TOOLS-OPTIONS tab, select COMPOSE tab, then try changing, or unchecking the “Mail” “Stationary” tab, click APPLY, and try it. This solved my problem, after which I deleted the My Stationary file by right clicking on ot, and choosing delete. Hope this problem is gone for good!

  6. Aaron Toponce Reply

    How to fix this in Thunderbid 3 and later, seeing as though the checkbox is no longer there?

  7. Gayle Reply

    I’ve read the article but it does not address the problem I’m having. Mine is the email I am receiving from someone has the letter A scattered throughout the text. Is it the senders computer problem or is it mine?

    Typically the senders, but it’s extremely difficult to say with certainty.

    Leo
    24-Nov-2011
  8. Greg Bulmash Reply

    FYI, if you’ve got any skill with PHP, you can take the whole mess, run quoted_printable_decode() on it, and output the results to a file to strip out all that craziness.

  9. Steve Reply

    I solved the problem of weird characters in email I receive in Outlook Express by unchecking the box labeled “Use default encoding for all incoming messages” in the International Settings section of the Fonts box on the Read tab under the Tools / Options menus. I proved it by toggling that setting off and on and off again. Don’t know if it works for anything other than Outlook Express…….

Leave a reply:

Before commenting please:

  • Read the article. Seriously. You'd be shocked at how many people make comments that prove they didn't.
  • Comment only on the article. If you have a new, unrelated question start with the search box at the top of the page.
  • Don't post personal information. Email addresses, phone numbers and such will be removed.

VERY IMPORTANT: because of a rise an comment spam that's making it through our filters any comments that do not add to the discussion - typically off topic or content-free comments - run a very high risk of being flagged as spam and removed.

If you have a new question unrelated to the article above, ask it on the Ask Leo! ask-a-question page.