From 7a546eb9857e961f2f2a80bffff45d8580b674c1 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Thu, 15 Nov 2001 06:15:34 +0000 Subject: [PATCH] Add changes for multibyte support in 7.2. --- doc/src/sgml/charset.sgml | 211 +++++++++++++++++++++++++++++++++++--- 1 file changed, 197 insertions(+), 14 deletions(-) diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml index 3a4b283c91..6ad4fa0482 100644 --- a/doc/src/sgml/charset.sgml +++ b/doc/src/sgml/charset.sgml @@ -1,4 +1,4 @@ - + Localization</> @@ -310,7 +310,7 @@ perl: warning: Falling back to the standard locale ("C"). <tbody> <row> <entry><literal>SQL_ASCII</literal></entry> - <entry><acronym>ASCII</acronym></entry> + <entry><acronym>US ASCII</acronym></entry> </row> <row> <entry><literal>EUC_JP</literal></entry> @@ -334,27 +334,63 @@ perl: warning: Falling back to the standard locale ("C"). </row> <row> <entry><literal>MULE_INTERNAL</literal></entry> - <entry>Mule internal</entry> + <entry>Mule internal code</entry> </row> <row> <entry><literal>LATIN1</literal></entry> - <entry>ISO 8859-1 English and some European languages</entry> + <entry>ISO 8859-1 ECMA-94 Latin Alphabet No.1</entry> </row> <row> <entry><literal>LATIN2</literal></entry> - <entry>ISO 8859-2 English and some European languages</entry> + <entry>ISO 8859-2 ECMA-94 Latin Alphabet No.2</entry> </row> <row> <entry><literal>LATIN3</literal></entry> - <entry>ISO 8859-3 English and some European languages</entry> + <entry>ISO 8859-3 ECMA-94 Latin Alphabet No.3</entry> </row> <row> <entry><literal>LATIN4</literal></entry> - <entry>ISO 8859-4 English and some European languages</entry> + <entry>ISO 8859-4 ECMA-94 Latin Alphabet No.4</entry> </row> <row> <entry><literal>LATIN5</literal></entry> - <entry>ISO 8859-5 English and some European languages</entry> + <entry>ISO 8859-9 ECMA-128 Latin Alphabet No.5</entry> + </row> + <row> + <entry><literal>LATIN6</literal></entry> + <entry>ISO 8859-10 ECMA-144 Latin Alphabet No.6</entry> + </row> + <row> + <entry><literal>LATIN7</literal></entry> + <entry>ISO 8859-13 Latin Alphabet No.7</entry> + </row> + <row> + <entry><literal>LATIN8</literal></entry> + <entry>ISO 8859-14 Latin Alphabet No.8</entry> + </row> + <row> + <entry><literal>LATIN9</literal></entry> + <entry>ISO 8859-15 Latin Alphabet No.9</entry> + </row> + <row> + <entry><literal>LATIN10</literal></entry> + <entry>ISO 8859-16 ASRO SR 14111 Latin Alphabet No.10</entry> + </row> + <row> + <entry><literal>ISO-8859-5</literal></entry> + <entry>ECMA-113 Latin/Cyrillic</entry> + </row> + <row> + <entry><literal>ISO-8859-6</literal></entry> + <entry>ECMA-114 Latin/Arabic</entry> + </row> + <row> + <entry><literal>ISO-8859-7</literal></entry> + <entry>ECMA-118 Latin/Greek</entry> + </row> + <row> + <entry><literal>ISO-8859-8</literal></entry> + <entry>ECMA-121 Latin/Hebrew</entry> </row> <row> <entry><literal>KOI8</literal></entry> @@ -373,6 +409,19 @@ perl: warning: Falling back to the standard locale ("C"). </table> </para> + <para> + CAUTION1: Note that before 7.2 LATIN5 meant ISO 8859-5 mistakely. In 7.2 + LATIN5 measn ISO 8859-9. If you have LATIN5 database created on + 7.1 or before and want to migrate to 7.2, you should be very + carefull about this change. + </para> + + <para> + CAUTION2: Not all API supports encodings listed above. For example, + PostgreSQL JDBC driver does not support MULE_INTERNAL, LATIN6, + LATIN8 and LATIN10. + </para> + <para> Here is an example of configuring <productname>Postgres</productname> to use a Japanese encoding by @@ -466,21 +515,129 @@ $ psql -l </row> </thead> <tbody> + <row> + <entry><literal>SQL_ASCII</literal></entry> + <entry><literal>SQL_ASCII</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> + </entry> + </row> <row> <entry><literal>EUC_JP</literal></entry> - <entry><literal>EUC_JP</literal>, <literal>SJIS</literal></entry> + <entry><literal>EUC_JP</literal>, <literal>SJIS</literal>, + <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> + </entry> </row> <row> <entry><literal>EUC_TW</literal></entry> - <entry><literal>EUC_TW</literal>, <literal>BIG5</literal></entry> + <entry><literal>EUC_TW</literal>, <literal>BIG5</literal>, + <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN1</literal></entry> + <entry><literal>LATIN1</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> </row> <row> <entry><literal>LATIN2</literal></entry> - <entry><literal>LATIN2</literal>, <literal>WIN1250</literal></entry> + <entry><literal>LATIN2</literal>, <literal>WIN1250</literal>, + <literal>UNICODE</literal>, + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN3</literal></entry> + <entry><literal>LATIN3</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN4</literal></entry> + <entry><literal>LATIN4</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN5</literal></entry> + <entry><literal>LATIN5</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN6</literal></entry> + <entry><literal>LATIN6</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN7</literal></entry> + <entry><literal>LATIN7</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN8</literal></entry> + <entry><literal>LATIN8</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN9</literal></entry> + <entry><literal>LATIN9</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>LATIN10</literal></entry> + <entry><literal>LATIN10</literal>, <literal>UNICODE</literal> + <literal>MULE_INTERNAL</literal> + </entry> </row> <row> - <entry><literal>LATIN5</literal></entry> - <entry><literal>LATIN5</literal>, <literal>WIN</literal>, <literal>ALT</literal></entry> + <entry><literal>ISO_8859_5</literal></entry> + <entry><literal>ISO_8859_5</literal>, + <literal>UNICODE</literal> + </entry> + </row> + <row> + <entry><literal>ISO_8859_6</literal></entry> + <entry><literal>ISO_8859_6</literal>, + <literal>UNICODE</literal> + </entry> + </row> + <row> + <entry><literal>ISO_8859_7</literal></entry> + <entry><literal>ISO_8859_7</literal>, + <literal>UNICODE</literal> + </entry> + </row> + <row> + <entry><literal>ISO_8859_8</literal></entry> + <entry><literal>ISO_8859_8</literal>, + <literal>UNICODE</literal> + </entry> + </row> + <row> + <entry><literal>ISO_8859_9</literal></entry> + <entry><literal>ISO_8859_9</literal>, <literal>WIN</literal>, + <literal>ALT</literal>, <literal>KOI8R</literal>, + <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>UNICODE</literal></entry> + <entry> + <literal>EUC_JP</literal>, <literal>SJIS</literal>, + <literal>EUC_KR</literal>, <literal>EUC_CN</literal>, + <literal>EUC_TW</literal>, <literal>BIG5</literal>, + <literal>LATIN1</literal> to <literal>LATIN10</literal>, + <literal>ISO_8859_5</literal>, + <literal>ISO_8859_6</literal>, + <literal>ISO_8859_7</literal>, + <literal>ISO_8859_8</literal>, + <literal>WIN</literal>, <literal>ALT</literal>, + <literal>KOI8</literal> + </entry> </row> <row> <entry><literal>MULE_INTERNAL</literal></entry> @@ -488,6 +645,27 @@ $ psql -l <literal>EUC_TW</literal>, <literal>BIG5</literal>, <literal>LATIN1</literal> to <literal>LATIN5</literal>, <literal>WIN</literal>, <literal>ALT</literal>, <literal>WIN1250</literal></entry> </row> + <row> + <entry><literal>KOI8</literal></entry> + <entry><literal>ISO_8859_9</literal>, <literal>WIN</literal>, + <literal>ALT</literal>, <literal>KOI8</literal>, + <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>WIN</literal></entry> + <entry><literal>ISO_8859_9</literal>, <literal>WIN</literal>, + <literal>ALT</literal>, <literal>KOI8</literal>, + <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> + </entry> + </row> + <row> + <entry><literal>ALT</literal></entry> + <entry><literal>ISO_8859_9</literal>, <literal>WIN</literal>, + <literal>ALT</literal>, <literal>KOI8</literal>, + <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> + </entry> + </row> </tbody> </tgroup> </table> @@ -596,11 +774,16 @@ RESET CLIENT_ENCODING; <para> An automatic encoding translation between Unicode and other encodings has been supported since PostgreSQL 7.1. - Because this requires huge conversion tables, it's not enabled by default. + For 7.1 it's not enabled by default. To enable this feature, run configure with the <option>--enable-unicode-conversion</option> option. Note that this requires the <option>--enable-multibyte</option> option also. </para> + <para> + For 7.2, <option>--enable-unicode-conversion</option> is not necessary. + The unicode conversion functionality is automatically enabled + if <option>--enable-multibyte</option> is specified. + </para> </sect2> <sect2>