]> granicus.if.org Git - postgresql/commitdiff
Add changes for multibyte support in 7.2.
authorTatsuo Ishii <ishii@postgresql.org>
Thu, 15 Nov 2001 06:15:34 +0000 (06:15 +0000)
committerTatsuo Ishii <ishii@postgresql.org>
Thu, 15 Nov 2001 06:15:34 +0000 (06:15 +0000)
doc/src/sgml/charset.sgml

index 3a4b283c910f48ee45619bac8f69cbd6143a7ac6..6ad4fa0482fabc05fc08eb502488c31829fc9697 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.14 2001/11/12 19:19:39 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.15 2001/11/15 06:15:34 ishii Exp $ -->
 
 <chapter id="charset">
  <title>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>
+       <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>WIN</literal>, <literal>ALT</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>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>