编程语言
首页 > 编程语言> > Javamail ISO-8859-1格式化

Javamail ISO-8859-1格式化

作者:互联网

我使用Javamail Api为我的Android手机制作了一个电子邮件客户端.如果我尝试使用以下方法获取发件人的邮件地址和收件人邮件地址:

Address[] froma = m.getFrom();
        String from = InternetAddress.toString(froma);

        Address[] toa = m.getRecipients(Message.RecipientType.TO);
        String to = InternetAddress.toString(toa);

我得到一个像这样的字符串:

“Georg =?ISO-8859-1?Q?SP = E4the?=
它必须是GeorgSpäthe或Georg Spaethe.

我认为问题是这是德国邮件与另一种编码.有人可以帮我解决这个问题吗?

解决方法:

MIME标头按照RFC 2047编码,因此您需要先解码它们.

String decoded = MimeUtility.decodeText("Georg =?ISO-8859-1?Q?SP=E4the?=");

JDK导入:

import javax.mail.internet.MimeUtility;

对于Android:

import com.android.email.mail.internet;

另见Javadoc of MimeUtility

标签:iso-8859-1,android,java,email,javamail
来源: https://codeday.me/bug/20190729/1567622.html