Code Monkey home page Code Monkey logo

Comments (5)

foens avatar foens commented on August 10, 2024

I suspect that OpenPop assumes US-ASCII as encoding, since no encoding is specified in the Content-Type. OpenPop does not try to guess the encoding if not specifies, it defaults to US-ASCII. Not sure if this is specified in an RFC anywhere.

Most XML documents are UTF, and it also says so in the first line. However, OpenPop does not inspect the contents of an attachment, but only looks at the MIME headers. If this is general for your application, you could decode the bytes to a string yourself, using the correct encoding.

from hpop.

kobruleht avatar kobruleht commented on August 10, 2024

This can fixed by changing in MessagePrt.cs GetBodyAsText() method to

    public string GetBodyAsText()
    {
        return Encoding.UTF8.GetString(Body);
        // Original gets ?? characters instead of unicode ones
        //return BodyEncoding.GetString(Body);
    }

How to change OpenPop so this can used without changing source code ?

from hpop.

foens avatar foens commented on August 10, 2024

Your changes would destroy any attachment which does not use UTF-8. Instead, you should convert the raw bytes yourself:

MessagePart m = ...; // Get the message part somehow
string text = Encoding.UTF8.GetString(m.Body);

In that way, you do not have to change OpenPop.

from hpop.

kobruleht avatar kobruleht commented on August 10, 2024

Shoud line in sample code

                        var xml = ado.GetBodyAsText();

changed to
var xml = Encoding.UTF8.GetString(ado.Body);
?

from hpop.

foens avatar foens commented on August 10, 2024

Yes

from hpop.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.