デスクトップ アプリから通知を受信し、ユーザーの言語に応じて、言語固有の「ありがとう」メールを送信する 1.3.7 で作成されたアプリケーションを展開しようとしています。電子メールは、次のように javamail MimeMessageHelper を使用してテンプレートから作成されます。
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setFrom(new InternetAddress(config.td.mail.from.email,config.td.mail.from.text))
helper.setTo((mailDetails.to) as String)
helper.setSubject(config.td.mail.from.regSubject)
helper.setText(buildRegBody(mailTemplate, mailDetails), true)
実際の mailTemplate ファイルはすべて UTF-8 でエンコードされています。アプリをローカルで実行すると、電子メールはエラーなしで送信されますが、Tomcat に展開すると、電子メールのテキスト内のすべての国際文字が「������」に置き換えられます。正しい UTF-8 照合を使用して国際文字を MySQL データベースに書き込むときに、同様の問題が発生しました。
私の設定ファイルには次の行が含まれています:
grails.views.default.codec = "none"
grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding = "UTF-8"
私は無駄に次のことを試しました:
- Tomcat サーバー xml のコネクタ要素に UTF-8 エンコーディング ステートメントを追加しました
- charEncodingFilter が web.xml のチェーンの最初にあることを確認しました
- 引数「-Dfile.encoding=UTF-8 war」を使用して本番戦争を作成しました
これらは他のほとんどのユーザーの問題を解決しているように見えますが、今ではアイデアが尽きてしまいました - どんな助けや提案も大歓迎です.