CFMail中的特殊字符

问题描述:

我试图自动生成一个带有商标符号的纯文本电子邮件。我尝试了所有我能想到的,但仍然没有经过。CFMail中的特殊字符

<cfmail from="#x#" to="#y#" subject="test" charset="UTF-8"> 
    ™ 
    &trade; 
    #Chr(153)# 
</cfmail> 

这是一个编码问题。

您声明邮件编码为UTF-8,但Chr(153)不返回Unicode中的商标符号。它可以在Windows-1252中使用,但Chr()可以使用Unicode代码点。

使用Chr(8482)指定它到Unicode TM symbol。我找到了info page that outlines the issue nicely

顺便说一句,写文字TM符号也适用于我。但是,这假设您的.cfm文件实际上编码为Windows-1252 ,ColdFusion运行时配置为期望这样(这两者都是Windows系统上的默认位置,我已在其上进行了测试。到其他系统)。 ColdFusion在内部将所有字符串转换为Unicode,因此在您的设置中,这种期望链可能会被破坏。

+0

很好,谢谢! – 2008-11-12 20:31:43

我认为这是没有这么多CFMAIL的问题,而是与电子邮件客户端的纯文本邮件显示字符码从字面上,而不是把它们转换成它们对应的字符的问题。

在HTML模式下使用CFMail应该提供您正在查找的结果。