使用CF9,我想将输出写入csv文件供用户下载。
<cfinvoke component="RAMP.cfcData.reportMonthlyTotals" method="report" xport="1" returnvariable="rpt" />
<cfset columnList = "Project Number,Project Name,Organization,Division,Group" />
<cffile action="write" file="#xportPath#" charset="utf-8" output="#columnList#" />
<cfset csvRow = "" />
<cfloop array="#rpt.data#" index="row">
<cfset csvRow = arrayToList(row,",") />
<cffile action="append" file="#xportPath#" charset="utf-8" output="#csvRow#" />
</cfloop>
方法报告的输出是一个数组数组。函数的返回格式为“JSON”。该函数返回JQuery DataTables网格中使用的数据。
rtn.data = [
["itemOne", "itemTwo", "itemThree"],
["itemOne", "itemTwo", "itemThree"],
]
我遇到的问题是某些数据有特殊字符。这是从相同的函数输出到测试页面上的textarea。
CC2014118463,"Employee Townhall with CSO Q3 - São Paulo","CMO Communications & Public Relations","CALA Comms"
csv文件与以下行相同:
CC2014118463,"Employee Townhall with CSO Q3 - São Paulo","CMO Communications & Public Relations","CALA Comms"
是什么导致San中的特殊角色被转换为&#;#227? 我在编写和附加文件时尝试了不同的字符集设置。 我还尝试更改cfc的返回格式,如果它是一个json编码问题。但到目前为止,没有运气。
提前感谢您的帮助。 加里