Отправка JavaMail с помощью специальных символов, таких как š, đ, č, ć, ž - PullRequest
0 голосов
/ 19 января 2012

Я отправляю почту из приложения 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 (экземпляр класса домена) есть какие-либо из этих специальных символов, они кодируются по-своему.Что здесь происходит и как это исправить?

...