Unicode-символы и Spring JavaMailSenderImpl, никаких символов Unicode в Linux!

Я использую Spring и JavaMailSenderImpl, известный класс Spring для отправки электронных писем. Мои электронные письма содержат много символов Unicode, таких как èéàò или, что особенно важно, страшный символ €. Мои классы отлично работают при запуске на windows. Отправленные электронные письма содержат все символы (простой текст, без HTML). Если я установлю свое приложение на виртуальный сервер Linux, я получу все? вместо специальных символов. Это весна, Конфигурация Java или что-то еще?

Обновление

В основном архитектура такова: есть веб-приложение Spring, и я использую Spring JavaMailSenderImpl для выполнения работы. Это конфигурация в контексте сервлета:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="${email.server}" />
    <property name="username" value="${email.server_user}"></property>
    <property name="password" value="${email.server_pass}"></property>
</bean>

Я использую один и тот же хост в Windows и Linux для отправки почты (это не тот компьютер, на котором работает приложение ... Это просто стандартный поставщик почтовых услуг поверх SMTP).

Код, который я использую для отправки электронной почты, прост:

SimpleMailMessage msg = new SimpleMailMessage();
            msg.setTo(adminEmail);
            msg.setFrom(adminEmail);
            msg.setSubject(subject);
            msg.setText(message);
            mailSender.send(msg);

Даже установка:

System.setProperty("mail.mime.charset", "utf8");

при запуске приложения не решает ситуацию. В самом деле, раньше я получал? вместо € теперь получаю ...

6
задан gotch4 13 April 2011 в 13:24
поделиться