作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在与奇怪的错误作斗争。我对邮件主题和正文使用单独的 freemarker 模板。它使用 org.springframework.mail.javamail.JavaMailSender 发送。只有包含一些特殊瑞典字符的模板才能在我的应用程序中使用(是的,您没看错……不是相反)。如果我删除它,我的电子邮件内容就会崩溃。它包含:
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。
这东西对我来说出奇的奇怪...
//解决方案:使用 :set bomb
并在 vim 中保存文件。
最佳答案
根据@freakman 的要求,我发布了我的评论作为答案 - 结果证明可以解决问题:
附加 BOM (Byte Order Mark) 到模板文件的开头,以确保它始终被解析为 UTF-8 模板。
作为引用,UTF-8 的 BOM 是:
EF BB BF

byte[] bom = {(字节)0xEF,(字节)0xBB,(字节)0xBF};
关于java - Freemarker - 电子邮件主题模板中缺少特殊字符导调用子邮件内容崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13269374/
我是一名优秀的程序员,十分优秀!