我正在尝试自动生成带有商标符号的纯文本电子邮件。我已经尝试了我能想到的一切,但仍然没有通过。
<cfmail from="#x#" to="#y#" subject="test" charset="UTF-8">
™
™
#Chr(153)#
</cfmail>
我正在尝试自动生成带有商标符号的纯文本电子邮件。我已经尝试了我能想到的一切,但仍然没有通过。
<cfmail from="#x#" to="#y#" subject="test" charset="UTF-8">
™
™
#Chr(153)#
</cfmail>
这是一个编码问题。
您声明邮件被编码为 UTF-8,但Chr(153)
没有返回 Unicode 中的商标符号。它适用于 Windows-1252,但Chr()
适用于 Unicode 代码点。
用于Chr(8482)
将其钉在Unicode TM 符号上。
我找到了一个很好地概述了这个问题的信息页面。
顺便说一句,写字面的 TM 符号也对我有用。但这假设您的 .cfm 文件实际上被编码为 Windows-1252 ,并且 ColdFusion 运行时配置为预期这一点(这两者都是 Windows 系统上的默认设置,我已经对其进行了测试。模拟规则适用于其他系统. ). ColdFusion 在内部将所有字符串转换为 Unicode,因此在您的设置中,这条期望链中可能出现了某些问题。
我认为这不是 CFMail 的问题,而是电子邮件客户端在纯文本消息中显示字符代码而不是将它们转换为相应字符的问题。
在 HTML 模式下使用 CFMail 应该会提供您正在寻找的结果。