2010-12-02 9 views
1

挨拶にすべて 私はいくつかのアラビアテキストアラビア語は????? Velocityテンプレート

を持っており、電子メールを送信するときに、テキストが表示されますようにテンプレートのメール を送るにし、中にVelocityテンプレートを使用しています??????????ここでは、電子メールを送信する前に

エンコーディングがUTF-8に設定されています: 私はなぜ知らない

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

iはVMで文字セットを追加しようとしましたが、運と

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

このような問題が発生する理由はありますか?

答えて

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); 
} 
+1

本当に問題を解決した –

1

velocity.propertiesは設定されていますか? (特にinput.encodingまたはoutput.encoding)そうでなければ、両方をUTF-8に設定してみてください。

関連する問題