关于coldfusion:cfsavecontent + cfinclude与utf-8 charset?

cfsavecontent + cfinclude with utf-8 charset?

我有一行coldfusion代码,其中包含一个用utf-8字符集编码的cfm文件,并将其保存到一个变量中。我遇到的问题是,无法在cfinclude中指定字符集,结果变量似乎没有正确读取utf-8,因此任何非ASCII字符都会被错误地呈现。

1
2
3
4
<cfsavecontent variable="content">
  <cfinclude template="test.cfm">
</cfsavecontent>
<cfoutput>#content#</cfoutput>

如果我使用cffile,这不是一个问题,因为我可以指定一个chaset,但是文件不会被分析为coldfusion变量。

1
2
3
<cfset path = expandPath(".") &"\test.html">
<cffile action="read" file="#path#" variable="content" charset="utf-8">
<cfoutput>#content#</cfoutput>

所以我的问题是——有没有一种方法可以在执行特定字符集的同时将解析的coldfusion文件加载到变量中?


我不知道这是否可行,但我唯一能想到的是

1
<cfprocessingdirective pageencoding="utf-8" />

在所包含的代码的最顶部标记(test.cfm)。这将指示CF在编译代码时使用特定的编码。


我认为在包含的文件和主文件中都需要cfprocessingdirective。