http://www.perlmonks.org?node_id=1013857


in reply to Re^3: MIME::Parser parse_data
in thread MIME::Parser parse_data

The problem is that I have other emails where it has the same format but I have to use this instead:
$MessageBody = " ". decode('UTF-8',decode_base64($tmp_part->bodyh +andle->as_string));
------_=NextPart002_01CDF2E2.B6A090C6 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgU3VlICwKCldpbGwgYmUgaW4gdG91Y2ggaSBhbSB0aGlua2luZyBvZiBkb2luZyBhIH +RyaXAg dG8gSXRhbH

Replies are listed 'Best First'.
Re^5: MIME::Parser parse_data
by Corion (Patriarch) on Jan 17, 2013 at 19:08 UTC

    Then I would guess that you have an encoding problem in the larger sense.

    Somewhere along the long chain from mail sender via your program to the output of your program, things are getting decoded in the wrong way.

    I know of no other way than to check at every conversion step that you decode the byte sequence from the right encoding.

    As both Content-Type header lines are equal, you should handle them in an equal fashion. This could mean that the sending mail program already encodes the mail in a wrong way. That would be out of your influence.

    I still recommend checking the remaining parts of your program as to whether you mix up different string encodings when converting or printing output.