MIME-Version: 1.0
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: 7bit
..
html code here
..
我的freemarker.properties文件
locale=sv_SE
classic_compatible=false
number_format=
date_format=yyyy-MM-dd
time_format=HH:mm
datetime_format=yyyy-MM-dd HH:mm
output_encoding=UTF-8
url_escaping_charset=UTF-8
auto_import=spring.ftl as spring
auto_include=
default_encoding=UTF-8
localized_lookup=true
strict_syntax=true
whitespace_stripping=true
template_update_delay=10
我试过用dos2unix工具转换主题文件。使用'find -bi subject.ftl'表明编码是us-ascii。增加了特殊字符 - utf-8。
这件事让我感到奇怪......
// SOLUTION:
使用:set bomb
并在vim中保存文件。
答案 0 :(得分:1)
根据@freakman的要求,我发表评论作为答案 - 因为它最终解决了问题:
将 BOM (Byte Order Mark) 附加到模板文件的开头,以确保始终将其解析为UTF-8模板。
作为参考,UTF-8的BOM是:
EF BB BF

byte[] bom = { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF};