Где-то по пути от шаблона текстового файла, посредством обработки и отправки в виде электронного письма, кодировка символов искажается, так что немецкие символы, закодированные в одной схеме, неправильно отображаются как неправильный «глиф» вдругая схема в электронном письме.
Прежде всего необходимо проверить, какая кодировка используется для файла шаблона. Затем выясните, как электронная почта обрабатывается. Например, если это электронное письмо в формате 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");