%META:TOPICPARENT{name="ConfigTroubleshootPRO"}% ==Database Configuration for Unicode== ===Progress 9.1 (SQL-92)=== The Progress database can be set to use the UTF-8 Unicode codepage. The SQL-92 Client can be also be set to use Unicode. The SQL-92 server uses the codepage of the connected database as its internal codepage. Conversion between the database codepage and the SQL-92 client codepage is done by the server. There are no specific functions provided for converting between codepages within an ESQL-92 program. The easiest way to create to Progress Unicode-enabled database is to use the "{{{proutil}}}" program to convert an existing database to {{{UTF-8}}} format using the following command: {{{ proutil -C convchar convert utf-8 }}} Multibyte characters can be used in character ({{{CHAR}}}) and variable-length character ({{{VARCHAR}}}) fields. Character string literals and the arguments to string functions can also be multibyte characters. There are some provisos for specific functions noted in the Progress documentation. * Importantly, when the SQL-92 language element syntax requires single quotes, double quotes, parentheses, or braces, the requirement is for the single-byte ASCII encoding of these characters and other encodings are **//not//** equivalent. * The string operators in Progress SQL-92 consider the unit of length to be the character count, not a byte or column count. * When a column of type {{{CHAR}}} or {{{VARCHAR}}} is created, the maximum length specified is a number of characters, so the actual number of bytes storage required depends on the database codepage. The length of character data returned in the {{{sqlda}}} is in bytes, not characters.