高分求救:Java Mail收邮件时的中文问题

drifter 2002-07-06 11:47:52
我用Java Mail 收以下开头的邮件,但是始终无法读取中文,中文显示为????,但是用outlook却可以读出。这是怎么回事?代码和邮件头如下。多谢!
代码:
try {
inbox.open(Folder.READ_WRITE);
} catch (MessagingException ex) {
inbox.open(Folder.READ_ONLY);
}

Message message[] = inbox.getMessages();
String TempStr;
for(int i =0;i<message.length;i++) {
TempStr = ""+message[i].getContent();
TempStr = new String(TempStr.getBytes(),"iso8859-1");
System.out.println("MESSAGE #"+(i+1)+":"+message[i].getFrom()[0]+"\n"+message[i].getSubject()+"\n"+TempStr);
}
inbox.close(true);


邮件头:
Received: Sat, 6 Jul 2002 23:08:56 -0000
Received: from sms-40 [202.105.55.147] by whocare
(SMTPD32-6.06) id A83D3C90114; Sat, 06 Jul 2002 23:09:49 +0800
Message-Id: <SAK.2002.07.06.prsaciqdfnhfmcts@a.b.c>
Date: Sat, 6 Jul 2002 23:13:43 +0800
X-Priority: 3
From: abc@def.com>
X-Mailer:
To: def@ghi.com
MIME-Version: 1.0
Subject: =?ISO-8859-1?B?bW90b3NtcyM=?=
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: base64
...全文
71 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
trust_me 2002-07-18
  • 打赏
  • 举报
回复
你应该设置以下邮件头,同意楼上的
Alfred79 2002-07-18
  • 打赏
  • 举报
回复

strSubject//邮件的主题
new String(strSubject.getBytes("ISO8859-1"),"gb2312");

yangtian 2002-07-16
  • 打赏
  • 举报
回复
关注
drifter 2002-07-16
  • 打赏
  • 举报
回复
说详细点,谢谢!
GJA106 2002-07-15
  • 打赏
  • 举报
回复
处理把subject和content内容的字符集。
这些例子多的是。
drifter 2002-07-15
  • 打赏
  • 举报
回复
继续求助
疾风2002 2002-07-07
  • 打赏
  • 举报
回复
好像你应该改一下字符编码
drifter 2002-07-07
  • 打赏
  • 举报
回复
怎么改?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧