dousou2897 2013-01-26 21:58
浏览 66
已采纳

PHP - 字节到UTF8字符?

I need to process some emails and these contain character phrases such as:

=E2=82=AC

which apparently are the bytes for a euro sign.

I also get things such as:

VALIGN=3D"top"

which I'm not sure what that means (the 3D part).

And other such as :

FirstName=C2=A0LastName

Does anyone know how to convert this to the proper character via PHP?

Thanks.

  • 写回答

1条回答 默认 最新

  • dongyan3616 2013-01-26 22:05
    关注

    As Gumbo pointed out, the characters are encoded as a quoted-printable string. To decode, use this aptly named function:

    $string = '=E2=82=AC';
    echo quoted_printable_decode($string);
    // echoes out €
    

    But as MarkReed has pointed out, this isn't really a solution if your mail logic is flawed. Look into a robust e-mail framework or library if this functionality forms a large part of your app.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?