Арабский отображается как ?????в шаблоне скорости - PullRequest
1 голос
/ 02 декабря 2010

Привет всем я использую шаблоны скорости при отправке писем и в шаблоне у меня есть некоторые арабские тексты

и при отправке электронного письма текст выглядит как ?????????? я не знаю почему:

кодировка установлена ​​в utf-8 перед отправкой электронной почты здесь:

VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,templateName, "UTF-8",newModel);

Я пытался добавить кодировку в виртуальную машину, но безуспешно:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

есть идеи, почему возникает такая проблема?

Ответы [ 2 ]

7 голосов
/ 03 декабря 2010

Мне удалось создать текст на арабском языке (تجاوز سعة مسدس) в текстовом электронном письме, отправленном из приложения 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);
}
1 голос
/ 03 декабря 2010

У вас есть какие-либо настройки speed.properties? (в частности, input.encoding или output.encoding) Если нет, попробуйте установить оба этих параметра в UTF-8.

...