阿拉伯语显示为????? 在速度模板中

Mah*_*leh 1 spring velocity spring-mvc java-ee

问候我在发送电子邮件时使用速度模板,在模板中我有一些阿拉伯语文本

并且在发送电子邮件时,文本显示为?????????? 我不知道为什么:

在此处发送电子邮件之前,encoding设置为utf-8:

VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,templateName, "UTF-8",newModel);
Run Code Online (Sandbox Code Playgroud)

我试图在vm中添加charset,但没有运气:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Run Code Online (Sandbox Code Playgroud)

任何想法为何会出现这种问题?

hle*_*one 7

我能够在Spring应用程序发送的纯文本电子邮件中生成阿拉伯语文本(تجاوزسعةمكدس).在GMail和Thunderbird上正确显示的文字.这是我的邮件发送逻辑:

public void send(String fromAddress, String fromName,
    String toAddress, String subject,
    String template, Map<String, Object> model) {
  MimeMessagePreparator preparator = new MimeMessagePreparator() {
    public void prepare(MimeMessage mimeMessage) throws Exception {
      MimeMessageHelper message = new MimeMessageHelper(
          mimeMessage, "UTF-8");
      message.setTo(toAddress);
      message.setFrom(new InternetAddress(fromAddress, fromName));
      message.setSubject(subject);
      message.setText(VelocityEngineUtils
          .mergeTemplateIntoString(velocityEngine, template, "UTF-8", 
              model));
    }
  };
  mailSender.send(preparator);
}
Run Code Online (Sandbox Code Playgroud)