gpt4 book ai didi

java - Freemarker - 电子邮件主题模板中缺少特殊字符导调用子邮件内容崩溃

转载 作者:行者123 更新时间:2023-11-30 11:39:28 25 4
gpt4 key购买 nike

我正在与奇怪的错误作斗争。我对邮件主题和正文使用单独的 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
  • ISO-8859-1 编码
  • Java:byte[] bom = {(字节)0xEF,(字节)0xBB,(字节)0xBF};

关于java - Freemarker - 电子邮件主题模板中缺少特殊字符导调用子邮件内容崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13269374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com