Я отправляю почту из приложения Grails, используя JavaMail.Это часть почтового сервиса:
try{
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
InternetAddress to_address = new InternetAddress(to);
InternetAddress cc_address = new InternetAddress(cc);
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setFrom(new InternetAddress(from));
helper.setTo(to_address);
helper.setCc(cc_address);
helper.setSubject(msgSubject);
helper.setText(msgText);
transport = session.getTransport("smtp");
transport.connect();
transport.sendMessage(message, message.getAllRecipients());
} finally {
if (transport != null) try { transport.close(); } catch (MessagingException logOrIgnore) {}
}
}
В контроллере я устанавливаю все необходимое для почты и передаю его почтовому сервису. Например:
String msgText = "Poštovani, " + "\n\n" + requestInstance.description
У меня проблемысо специальными символами, такими как š, đ, č, ć, ž.Но только в строках, которые я установил непосредственно в контроллере, как Poštovani из приведенного выше примера.Я получаю Po�tovani .Если в requestInstance.description (экземпляр класса домена) есть какие-либо из этих специальных символов, они кодируются по-своему.Что здесь происходит и как это исправить?