使用javamail做接收邮件的系统,接收到的邮件标题存在乱码的问题
Session session2 = Session.getInstance(System.getProperties(), null);
<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="gb2312"%>
<%
......
Store store = session2.getStore("pop3");
store.connect(mail_server, mail_username, mail_password);
Folder folder = store.getFolder("INBOX");
if (folder.isOpen())
folder.close(false);
folder.open(Folder.READ_ONLY);
Message message[] = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.FLAGS);
fp.add(FetchProfile.Item.CONTENT_INFO);
folder.fetch(message, fp);
for (int j=0; j<folder.getMessageCount(); j++) {
String tmp = new String (message[j].getSubject().getBytes("ISO-8859-1"), "gb2312") // 注意这里
out.print(tmp+"<br>");
}
......
%>
在我上面的代码中提到注意的地方,我进行字符集转换后,我的5封邮件有4封标题是乱码,1封正常.要是不进行转换正好反过来,我怎样才能判断邮件标题是否需要进行字符集转换?