Проблема с кодировкой Liquid Template при весенней загрузке версии 2.0.5 - PullRequest
0 голосов
/ 21 октября 2019

Я использую Spring Boot версии 2.0.5. и жидкостный шаблон версии 0.7.8

Моя проблема в том, что когда я использую текст немецкого языка в файле шаблона и при отправке почты мало немецких символов конвертируется в? отметка.

Так, каково решение для этого?

1 Ответ

0 голосов
/ 14 ноября 2019

Где-то по пути от шаблона текстового файла, посредством обработки и отправки в виде электронного письма, кодировка символов искажается, так что немецкие символы, закодированные в одной схеме, неправильно отображаются как неправильный «глиф» вдругая схема в электронном письме.

Прежде всего необходимо проверить, какая кодировка используется для файла шаблона. Затем выясните, как электронная почта обрабатывается. Например, если это электронное письмо в формате HTML, проверьте, есть ли в заголовке ссылка на кодировку символов с другой кодировкой, например:

<head><meta charset="utf-8" /></head>

Если это отличается от кодировки файла, например, ISO-8859-1, то первое, что я бы попробовал, это восстановить шаблон в UTF-8, вы должны быть в состоянии сделать это в большинстве IDE или расширенных текстовых редакторах, таких как Notepad ++

(так как глифы - это вопросительные знаки,возможно, это шаблон UTF-8 или UTF-16, а HTML-код более ограничен кодировкой.)

Если это не сработает, возможно, вам придется взглянуть на свой код и обратить внимание на то, какнеобработанные байты из шаблона преобразуются в строки. Например:

String template = new String(bytesFromFile);

Будет использовать системную кодировку по умолчанию, которая может отличаться от файла. Безопасный способ преобразовать байты в строку - это указать набор символов:

String template = new String(bytesFromFile, "UTF-8");
...