User Guide
336 Chapter 2: ColdFusion Tags
• You cannot embed the tag within conditional logic, because the pageEncoding attribute is
evaluated when ColdFusion compiles a page (not when it executes the page). For example, the
following code has no effect at execution time, because the
cfprocessingdirective tag has
already been evaluated:
<cfif dynEncoding is not "dynamic encoding is not possible">
<cfprocessingdirective pageencoding=#dynEncoding#>
</cfif>
• If you have multiple cfprocessingdirective tags in one page that specify the pageEncoding
attribute, they must all specify the same value; if not, ColdFusion throws an error.
• If you specify only the pageencoding attribute, do not use a separate end tag.
• ColdFusion accepts character encoding names that are supported by the Java platform. If an
invalid name is specified, ColdFusion throws an InvalidEncodingSpecification exception.
• If a page has a byte order mark (BOM), and a pageencoding attribute specifies an encoding
that differs from the BOM, ColdFusion generates an error.
The following rules apply to the
suppressWhiteSpace attribute:
• You can specify the suppresswhitespace attribute value as a constant or a variable. To use a
variable: define the variable (for example,
whitespaceSetting), assign it the value yes or no,
and code a statement such as the following:
<!--- ColdFusion allows suppression option to be set at runtime --->
<cfprocessingdirective suppresswhitespace=#whitespaceSetting#>
code to whose output the setting is applied
</cfprocessingdirective>
• The suppresswhitespace attribute only affects code that you put between the
<cfprocessingdirective> begin tag and the </cfprocessingdirective> end tag.
The following example shows the use of a nested
cfprocessingdirective tag. The outer tag
suppresses unnecessary whitespace during computation of a large table; the inner tag retains
whitespace, to output a preformatted table.
Example
<cfprocessingdirective suppressWhiteSpace = "Yes">
<!--- CFML code --->
<cfprocessingdirective suppressWhiteSpace = "No">
<cfoutput>#table_data#
</cfoutput>
</cfprocessingdirective>
</cfprocessingdirective>
The following example shows the use of the pageencoding attribute:
<cfprocessingdirective pageencoding = "shift_jis">