<docbook><section><title>ProgressUnicodeConfig</title><bridgehead class="http://www.w3.org/1999/xhtml:h2">Database Configuration for Unicode</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Progress 9.1 (SQL-92)</bridgehead>
<para>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.</para><para>The easiest way to create to Progress Unicode-enabled database is to use the &quot;<computeroutput>proutil</computeroutput>&quot; program to convert an existing database to <computeroutput>UTF-8</computeroutput> format using the following command: </para><programlisting>proutil &lt;db-name&gt; -C convchar convert utf-8
</programlisting><para> Multibyte characters can be used in character (<computeroutput>CHAR</computeroutput>) and variable-length character (<computeroutput>VARCHAR</computeroutput>) fields.
 Character string literals and the arguments to string functions can also be multibyte characters.</para><para>There are some provisos for specific functions noted in the Progress documentation.
</para><itemizedlist mark="bullet" spacing="compact"><listitem> 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 <emphasis><emphasis>not</emphasis></emphasis> equivalent.
</listitem>
<listitem> The string operators in Progress SQL-92 consider the unit of length to be the character count, not a byte or column count.
</listitem>
<listitem> When a column of type <computeroutput>CHAR</computeroutput> or <computeroutput>VARCHAR</computeroutput> 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 <computeroutput>sqlda</computeroutput> is in bytes, not characters.
</listitem>
</itemizedlist></section></docbook>