Encoding cfmailparam文件和字符集

Encoding cfmailparam文件和字符集,encoding,utf-8,coldfusion,Encoding,Utf 8,Coldfusion,我将CSV文件生成为一个字符串,其中分号作为字段分隔符,chr(13)chr(10)作为行分隔符。我使用disposition=“attachment”将其附加到带有cfmailparam标记的电子邮件中,并且content属性包含所述字符串。邮件的附件似乎是用UTF8编码的,Excel不喜欢,所以我的UMLAUT被销毁了。是否可以为cfmailparam标记提供字符集属性,以确保文件已附加/发送到Windows1252编码 使用cffile标记和Windows1252编码存储字符串并将其附加到

我将CSV文件生成为一个字符串,其中分号作为字段分隔符,chr(13)chr(10)作为行分隔符。我使用
disposition=“attachment”
将其附加到带有
cfmailparam
标记的电子邮件中,并且
content
属性包含所述字符串。邮件的附件似乎是用UTF8编码的,Excel不喜欢,所以我的UMLAUT被销毁了。是否可以为cfmailparam标记提供字符集属性,以确保文件已附加/发送到Windows1252编码

使用
cffile
标记和Windows1252编码存储字符串并将其附加到具有cfmailparam file属性的邮件中是否更好

<cfset arrTitel = [
    "Titel"
    , "Geschäftsbereich"
]>

<cfsavecontent variable="csv"><cfoutput><cfloop from="1" to="#ArrayLen( arrTitel )#" index="spaltentitel"><cfif spaltentitel gt 1>;</cfif>"#arrTitel[spaltentitel]#</cfloop>#chr(13)##chr(10)#</cfoutput></cfsavecontent>

<cfmail from="#mail#" to="#mailempf#" subject="subj" type="text/html">
    <cfmailparam
    content="#csv#"
    disposition="attachment"
    file="Report.csv"
    >
</cfmail>

;“#arrTitel[spaltentitel]##chr(13)###chr(10)#
这就是它基本上看起来的样子。
请不要建议更改cfm文件的编码。包含UMLAUT的其他值不是硬编码的,而是来自数据库。

如果您在发送电子邮件之前直接在Excel中打开生成的CSV文件,它是否打开正常,或者这是否也会弄乱您的特殊字符?即,问题是否真的发生在您的助手身上t是在您发送电子邮件时,还是实际上是在您首先创建文件时?我在发送之前没有文件,因此我无法确定。我甚至不知道Coldfusion何时以及如何从字符串生成文件以将其附加到邮件。向我们展示创建您用于电子邮件附件的内容的代码。如果您使用的是semicolens作为分隔符,也许.txt扩展名比.csv更合适。@Bardware-我想duncan建议的是在UTF8和1252中创建一些测试文件,看看Excel如何处理它们。另外,为了排除问题,如果将消息字符集设置为UTF8以外的值,有什么区别吗?后者可能会带来其他问题s、 但最好知道这三(3)项测试的结果。