我想通过java邮件发送包含阿拉伯语内容的电子邮件, 但邮件中的每个阿拉伯语单词都显示为????????????? , 我怎样才能使编码为utf_8以支持阿拉伯语? 因为我使用该代码
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
message.setSubject(subject_a);
message.setText(messageDetails_a);
Transport.send(message);
答案 0 :(得分:4)
您必须创建一个MimeMessage(并将其保留为MimeMessage)并对主题使用setSubject(subject, "UTF-8");
方法。
setContent( messageContent, "text/html; charset=utf-8" );
将在内容中处理UTF-8。
纯文字:
setText(messageContent, "UTF-8");
资源:
答案 1 :(得分:4)
只需在方法中添加一些字符集信息即可。如果subject或message-body确实包含US-ASCII字符以外的其他字符集,则默认字符集将用于编码。将字符集明确设置为UTF-8始终是安全的:
String charset="UTF-8";
message.setSubject(subject_a,charset);
message.setText(messageDetails_a,charset);