ColdFusion supplies many tags and functions that you can use to develop globalized applications.
Tags and functions for controlling character encoding
The following tags and functions let you specify the character encoding of text that ColdFusion generates and interprets:
Tag or function | Attribute or parameter | Use |
---|---|---|
cfcontent | type | Specifies the encoding in which to return the results to the client browser. For more information, see Determining the page encoding of server output in Processing a request in ColdFusion. |
cffile | charset | Specifies how to encode data written to a file, or the encoding of a file being read. For more information, see File data in Handling data in ColdFusion. |
cfheader | charset | Specifies the character encoding in which to encode the HTTP header value. |
cfhttp | charset | Specifies the character encoding of the HTTP request. |
cfhttpparam | mimeType | Specifies the MIME media type of a file; can positionally include the file's character encoding. |
cfmail | charset | Specifies the character encoding of the mail message, including the headers. |
cfmailpart | charset | Specifies the character encoding of one part of a multipart mail message. |
cfprocessingdirective | pageEncoding | Identifies the character encoding of the contents of a page to be processed by ColdFusion. For more information, see Determining the page encoding of server output in Processing a request in ColdFusion. |
CharsetDecode | encoding | Converts a string in the specified encoding to a binary object. |
CharsetEncode | encoding | Converts a binary object to a string in the specified encoding. |
GetEncoding | Returns the character encoding of text in the Form or URL scope. | |
SetEncoding | charset | Specifies the character encoding of text in the Form or URL scope. Used when the character set of the input to a form, or the character set of a URL, is not in UTF-8 encoding. |
ToBase64 | encoding | Specifies the character encoding of the string being converted to Base 64. |
ToString | encoding | Returns a string encoded in the specified character encoding. |
URLDecode | charset | Specifies the character encoding of the URL being decoded. |
URLEncodedFormat | charset | Specifies the character encoding to use for the URL. |
Functions for controlling and using locales
ColdFusion provides the following functions that let you specify and identify the locale and format text based on the locale:
Tag or function | Use |
---|---|
GetLocale | Returns the current locale setting. |
GetLocaleDisplayName | Returns the name of a locale in the language of a specific locale. The default value is the current locale in the locale's language. |
LSCurrencyFormat | Converts numbers into a string in a locale-specific currency format. For countries that use the euro, the result depends on the JVM version. |
LSDateFormat | Converts the date part of a date/time value into a string in a locale-specific date format. |
LSEuroCurrencyFormat | Converts a number into a string in a locale-specific currency format. Formats using the euro for all countries that use euro as the currency. |
LSIsCurrency | Determines whether a string is a valid representation of a currency amount in the current locale. |
LSIsDate | Determines whether a string is a valid representation of a date/time value in the current locale. |
LSIsNumeric | Determines whether a string is a valid representation of a number in the current locale. |
LSNumberFormat | Converts a number into a string in a locale-specific numeric format. |
LSParseCurrency | Converts a string that is a currency amount in the current locale into a formatted number. For countries that use the euro, the result depends on the JVM version. |
LSParseDateTime | Converts a string that is a valid date/time representation in the current locale into a date-time object. |
LSParseEuroCurrency | Converts a string that is a currency amount in the current locale into a formatted number. Requires euro as the currency for all countries that use the euro. |
LSParseNumber | Converts a string that is a valid numeric representation in the current locale into a formatted number. |
LSTimeFormat | Converts the time part of a date/time value into a string in a locale-specific date format. |
SetLocale | Specifies the locale setting. |
Many functions that have names starting with LS have corresponding functions that do not have this prefix: DateFormat, IsDate, IsNumeric, NumberFormat, ParseDateTime, and TimeFormat. These function use English (US) locale rules.
If you do not precede calls to the LS functions with a call to the SetLocale function, they use the locale defined by the JVM, which typically is the locale of the operating system.
The following example uses the LSDateFormat function to display the current date in the format for each locale supported by ColdFusion:
<!--- This example shows LSDateFormat ---> <html> <head> <title>LSDateFormat Example</title> </head> <body> <h3>LSDateFormat Example</h3> <p>Format the date part of a date/time value using the locale convention. <!--- loop through a list of locales; show date values for Now()---> <cfloop list = "#Server.Coldfusion.SupportedLocales#" index = "locale" delimiters = ","> <cfset oldlocale = SetLocale(locale)> <cfoutput><p><B><I>#locale#</I></B><br> #LSDateFormat(Now(), "mmm-dd-yyyy")#<br> #LSDateFormat(Now(), "mmmm d, yyyy")#<br> #LSDateFormat(Now(), "mm/dd/yyyy")#<br> #LSDateFormat(Now(), "d-mmm-yyyy")#<br> #LSDateFormat(Now(), "ddd, mmmm dd, yyyy")#<br> #LSDateFormat(Now(), "d/m/yy")#<br> #LSDateFormat(Now())#<br> <hr noshade> </cfoutput> </cfloop> </body> </html>
Additional globalization tags and functions
In addition to the tags and functions that are specifically for globalized applications, you might find the following useful when writing a globalized application:
- All string manipulation functions. For more information, see the String functions list in ColdFusion Functions in the CFML Reference.
- The GetTimeZoneInfo function, which returns the time zone of the operating system.