The following factors may affect users updating from earlier CopiaFacts releases, even when Unicode is not enabled with any $unicode command:

Character Case

Case-blind comparisons between upper and lower-case characters are system locale-specific and no longer match only ASCII upper- and lower-case characters. So for example in earlier releases, the variable names or broadcast list column headings 'PRÉNOM' and 'prénom' were different and did not match. In release 8 they are equivalent.

Invalid UTF-8 Encodings

In a UTF-8 file with a UTF-8 BOM, any invalid UTF-8 sequences will be silently replaced by a Unicode 'Replacement Character' (code point FFFD).  This is normally rendered either as a standard question mark or as a white question mark in a black diamond.

Custom DLLs

If you use this feature, you should note that the string parameter passed to the function will by default be UTF8-encoded in version 8. The same applies to the variable name and variable value for getting and setting COPIAFACTS variables. An option is available, described in the Using Dynamic Link Libraries topic, to work with either System Default Encoding or with Unicode, but this will usually be less efficient than using UTF-8.

Job Administration DLL

The JOB Administration DLL is now named CF8JOBADM.DLL.  It has three entry points depending on whether you want to work with ASCII strings, UTF8 strings, or Unicode (UTF16) strings.  Apart from the DLL name, usage with ASCII strings is unchanged. Details of the new function interfaces are in the Job Administration DLL Overview topic.

Image Locations

If you use Unicode infobox names, they may not be located if you use a range ending such as ZZZZZZZZ on the $script_locn command.  Either prefix Unicode names with an ASCII character, or select a suitable Unicode character as the upper limit of the range.


The default $email_charset for version 8 is UTF-8 and this will be used for both headers and body text.  Previously, the default was iso-8859-1.

The $email_charset command has a different function in CopiaFacts version 8 from that in version 7. In version 7, the command was used to describe the encoding of the text presented for e-mailing: in version 8, the command causes the internal Unicode text to be converted to the appropriate character set.

When processing high-bit characters in body text and alternate body text, quoted-printable encoding is used by default. However in some cases Base64 encoding is preferable, and this can be specified on the $email_charset command.

For further details, see the topic for the $email_charset command.

The MAPI option for e-mail is no longer supported.