首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >spring boot版本2.0.5的液体模板编码问题

spring boot版本2.0.5的液体模板编码问题
EN

Stack Overflow用户
提问于 2019-10-21 22:11:23
回答 1查看 135关注 0票数 0

我使用的是Spring Boot版本2.0.5。和liquid template版本0.7.8

我的问题是,当我在模板文件中使用德语文本时,当我发送邮件时,很少有德语字符转换为?马克。

那么这个问题的解决方案是什么呢?

EN

回答 1

Stack Overflow用户

发布于 2019-11-14 20:30:10

沿着来自文本文件模板的路径的某处,通过处理并作为电子邮件发送,字符编码被破坏,使得在一种方案中编码的德语字符在电子邮件中被错误地呈现为另一种方案中的错误“字形”。

首先要检查的是模板文件的编码是什么。然后调查电子邮件是如何呈现的。例如,如果是HTML电子邮件,请查看标题中是否存在具有不同编码的字符编码引用,例如:

代码语言:javascript
运行
复制
<head><meta charset="utf-8" /></head>

如果这与文件的编码不同,例如ISO-8859-1,那么我会尝试的第一件事是将模板重新保存为UTF-8,您应该能够在大多数IDE或高级文本编辑器(如Notepad++ )中执行此操作

(由于字形是问号,因此模板可能是UTF-8或UTF-16,而HTML使用的字符集更有限。)

如果这不起作用,那么您可能需要查看代码,并注意模板中的原始字节是如何转换为字符串的。例如:

代码语言:javascript
运行
复制
String template = new String(bytesFromFile);

将使用系统默认字符集,该字符集可能与文件不同。将字节转换为字符串的安全方法是指定字符集:

代码语言:javascript
运行
复制
String template = new String(bytesFromFile, "UTF-8");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58488108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档