Французский символ é печатается как � в шаблоне jhipster thymeleaf

Я использую функцию электронной почты приложения Jhipster для отправки почты при создании пользователя. При отправке почты на французском языке символ é печатается неправильно. Эти символы взяты из стандартного файла messages_fr.properties.

Очевидно, это проблема с кодировкой, но как в шаблоне электронной почты html, так и в java-коде мы устанавливаем кодировку как UTF-8, которая должна отображать это правильно.

Во время отладки я обнаружил, что в классе MailService.java содержимое, загруженное методом процесса SpringTemplateEngine, уже неправильно загрузило символ перед установкой кодировки как UTF-8.

Мой код:

String content = templateEngine.process("activationEmail", context);

Похоже, я знаю основную причину этого, но поскольку это внутренний класс API Spring, я не знаю, как исправить эту проблему.


person Mudit bhaintwal    schedule 16.03.2016    source источник
comment
Похоже, вы ошиблись. Он должен быть помечен как Java, а не PHP.   -  person ryantxr    schedule 16.03.2016
comment
@ryantxr - обновил теги. Спасибо.   -  person Mudit bhaintwal    schedule 16.03.2016
comment
Обычно это проблема кодировки файла * .properties, убедитесь, что ваш редактор или IDE не изменили файл   -  person Gaël Marziou    schedule 16.03.2016
comment
@ Gael: хммм ..... Я думаю, вы указали точную основную причину. Я только что проверил, что STS IDE по умолчанию устанавливает все текстовые файлы .properties в ISO, а не в UTF. Я изменил кодировку на UTF-8 и протестировал. Теперь он работает нормально .... Большое спасибо !!!   -  person Mudit bhaintwal    schedule 16.03.2016


Ответы (1)


Как указал Гаэль, я обнаружил, что точная основная причина проблемы заключается в том, что STS по умолчанию меняет кодировку файлов .properties на ISO. Смена файла обратно на UTF-8 - это решение этой проблемы. Спасибо Гаэлю за указание в этом направлении.

person Mudit bhaintwal    schedule 16.03.2016