¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

5.2. �ޥ���Х��ȥ��ݡ���

����: �а� ã�� ()���ǽ������� 2000-03-22�����ܤ����� �а�ã�פ�web ������ �򻲾Ȥ��Ʋ�������

�ޥ���Х��ȡ�MB�˥��ݡ��Ȥ� PostgreSQL �� EUC�ʳ�ĥ Unix �����ɡˡ�Unicode������� Mule ���������ɤʤɤΥޥ���Х���ʸ�����åȤ򰷤���褦�˰տޤ��줿��ΤǤ��� MB���Ȥ���ȡ�����ɽ����regexp�ˡ�LIKE�������Ĥ��δؿ��ǥޥ���Х���ʸ�����åȤ��Ȥ��ޤ���initdb ��Ȥä� PostgreSQL ���󥹥ȥ졼��������������ݤ˥ǥե���Ȥ���沽�����ƥब���򤵤�ޤ������������ createdb �ޤ��� SQL �� CREATE DATABASE ���ޥ�ɤǥǡ����١������������ݤ˾�񤭤��뤳�Ȥ��Ǥ��ޤ����������äơ��ǡ����١������Ȥ˰ۤʤä���沽�����ƥ�ˤ��ʣ���Υǡ����١�������Ĥ��Ȥ��Ǥ��ޤ���

5.2.1. �ޥ���Х��ȥ��ݡ��Ȥ���Ϳ

�ޥ���Х��ȥ��ץ������դ��� configure ��¹Ԥ��ޤ���

./configure --enable-multibyte[=encoding_system]

������ encoding_system �ϰʲ���ɽ�ˤ����ͤΤ����ΤҤȤĤǤ���

Table 5-1. ʸ�����å���沽����

��沽����
SQL_ASCIIASCII
EUC_JP���ܸ� EUC
EUC_CN���� EUC
EUC_KR�ϥ󥰥� EUC
EUC_TW���� EUC
UNICODEUnicode (UTF-8)
MULE_INTERNALMule ����������
LATIN1ISO 8859-1 ECMA-94 Latin Alphabet No.1
LATIN2ISO 8859-2 ECMA-94 Latin Alphabet No.2
LATIN3ISO 8859-3 ECMA-94 Latin Alphabet No.3
LATIN4ISO 8859-4 ECMA-94 Latin Alphabet No.4
LATIN5ISO 8859-9 ECMA-128 Latin Alphabet No.5
LATIN6ISO 8859-10 ECMA-144 Latin Alphabet No.6
LATIN7ISO 8859-13 Latin Alphabet No.7
LATIN8ISO 8859-14 Latin Alphabet No.8
LATIN9ISO 8859-15 Latin Alphabet No.9
LATIN10ISO 8859-16 ASRO SR 14111 Latin Alphabet No.10
ISO-8859-5ECMA-113 Latin/Cyrillic
ISO-8859-6ECMA-114 Latin/Arabic
ISO-8859-7ECMA-118 Latin/Greek
ISO-8859-8ECMA-121 Latin/Hebrew
KOI8KOI8-R(U)
WINWindows CP1251
ALTWindows CP866

Important: PostgreSQL 7.2 ������ LATIN5 ���ְ�ä�ISO 8859-5 ���̣���Ƥ��ޤ����� LATIN5 �� ISO 8859-9 �Ǥ���7.1 �⤷���Ϥ�������Ǻ������줿 LATIN5 �ˤ��ǡ����١����򤪻����� 7.2 �˰ܿ����������Ϥ����ѹ����ä˵����ۤäƤ���������

Important: ���٤Ƥ� API ����˰���ɽ�Ȥ�����沽�򥵥ݡ��Ȥ��Ƥ���櫓�ǤϤ���ޤ����㤨�� PostgreSQL JDBC �ɥ饤�Ф� MULE_INTERNAL�� LATIN6��LATIN8�������� LATIN10 �򥵥ݡ��Ȥ��ޤ���

�ǥե���Ȥ� PostgreSQL �����ܸ���沽��������ѤǤ���褦�˥���ե�����졼����󤹤���Ǥ���

$ ./configure --enable-multibyte=EUC_JP

�⤷��沽�����ƥब��ά���줿��� (./configure --enable-multibyte)�� SQL_ASCII �����Ѥ���ޤ���

5.2.2. ��沽����������

initdb �� PostgreSQL �ΤҤȤĤΥ��󥹥ȥ졼�����Υǥե���Ȥ���沽������������ޤ�����Ǥ���

$ initdb -E EUC_JP

�ϥǥե���Ȥ���沽������ EUC_JP (���ܸ��ĥ Unix ������)�����ꤷ�ޤ������Ĺ�����ץ�����ʸ��������Ϥ���Τ������ߤʤ� -E ������� --encoding �Ƚ񤯤��Ȥ�Ǥ��ޤ���-E ���ץ����� --encoding ���ץ�����Ϳ�����ʤ���祳��ե�����졼����󤬹Ԥ�줿�Ȥ��˻��ꤵ�줿��沽�������Ȥ��ޤ���

�ۤʤ���沽�����Υǡ����١�����������뤳�Ȥ��Ǥ��ޤ���

$ createdb -E EUC_KR korean

�� EUC_KR ��沽������ korean �Ȥ���̾���Υǡ����١�����������ޤ���SQL ���ޥ�ɤ�Ʊ�����Ȥ�Ԥ��ˤϼ��Τ褦�ˤ��ޤ���

CREATE DATABASE korean WITH ENCODING = 'EUC_KR';

�ǡ����١�������沽������ pg_database �����ƥ५�������ˤ��� encoding column ��ɽ������ޤ��� -l ���ץ���� psql �� \l ���ޥ�ɤ���沽�����򸫤뤳�Ȥ��Ǥ��ޤ���

$ psql -l
            List of databases
   Name        |  Owner  |   Encoding
---------------+---------+---------------
 euc_cn        | t-ishii | EUC_CN
 euc_jp        | t-ishii | EUC_JP
 euc_kr        | t-ishii | EUC_KR
 euc_tw        | t-ishii | EUC_TW
 mule_internal | t-ishii | MULE_INTERNAL
 regression    | t-ishii | SQL_ASCII
 template1     | t-ishii | EUC_JP
 test          | t-ishii | EUC_JP
 unicode       | t-ishii | UNICODE
(9 rows)
(���������ꥸ�ʥ�� Name �� �� Database �ȤʤäƤ��ޤ�����7.2.1 �Ǥμºݤ�
��̤ˤ��碌�Ƥ���ޤ���)

5.2.3. �����С����饤����ȴ֤���沽������ư����

PostgreSQL �ˤϤ����Ĥ�����沽�������Ф��ƥ����Фȥ��饤����Ȥδ֤Ǽ�ưŪ����沽�������������뵡ǽ���󶡤��Ƥ��ޤ������ѤǤ����ȹ礻�� Table 5-2 �ˤޤȤ�Ƥ���ޤ���

Table 5-2. ���饤�����/������ʸ�����å���沽����

�����Ф���沽�������Ѳ�ǽ�ʥ��饤����Ȥ���沽����
SQL_ASCIISQL_ASCII��UNICODE��MULE_INTERNAL
EUC_JPEUC_JP��SJIS�� UNICODE��MULE_INTERNAL
EUC_TWEUC_TW��BIG5�� UNICODE��MULE_INTERNAL
LATIN1LATIN1��UNICODE MULE_INTERNAL
LATIN2LATIN2��WIN1250�� UNICODE�� MULE_INTERNAL
LATIN3LATIN3��UNICODE MULE_INTERNAL
LATIN4LATIN4��UNICODE MULE_INTERNAL
LATIN5LATIN5��UNICODE MULE_INTERNAL
LATIN6LATIN6��UNICODE MULE_INTERNAL
LATIN7LATIN7��UNICODE MULE_INTERNAL
LATIN8LATIN8��UNICODE MULE_INTERNAL
LATIN9LATIN9��UNICODE MULE_INTERNAL
LATIN10LATIN10��UNICODE MULE_INTERNAL
ISO_8859_5ISO_8859_5�� UNICODE
ISO_8859_6ISO_8859_6�� UNICODE
ISO_8859_7ISO_8859_7�� UNICODE
ISO_8859_8ISO_8859_8�� UNICODE
ISO_8859_9ISO_8859_9��WIN, ALT, KOI8R�� UNICODE��MULE_INTERNAL
UNICODE EUC_JP��SJIS�� EUC_KR��EUC_CN�� EUC_TW��BIG5�� LATIN1 ���� LATIN10�� ISO_8859_5�� ISO_8859_6�� ISO_8859_7�� ISO_8859_8�� WIN��ALT�� KOI8
MULE_INTERNALEUC_JP��SJIS��EUC_KR��EUC_CN�� EUC_TW��BIG5��LATIN1 ���� LATIN5�� WIN��ALT��WIN1250
KOI8ISO_8859_9��WIN�� ALT�� KOI8�� UNICODE��MULE_INTERNAL
WINISO_8859_9��WIN�� ALT��KOI8�� UNICODE��MULE_INTERNAL
ALTISO_8859_9��WIN�� ALT�� KOI8�� UNICODE�� MULE_INTERNAL

��ư��沽��������ѤǤ���褦�ˤ��뤿��ˤϡ����饤����ȤǤɤΤ褦����沽��������Ѥ����������� PostgreSQL �������ʤ���Фʤ�ޤ��󡣤����Ԥ��ˤϤ����Ĥ�����ˡ������ޤ���

5.2.4. Unicode �ˤĤ���

Unicode ��¾����沽�����֤Ǥμ�ư��沽���������� PostgreSQL 7.1 ���饵�ݡ��Ȥ����褦�ˤʤ�ޤ�����7.1 �Ǥϥǥե���ȤǻȤ���褦�ˤʤäƤ��ޤ��󡣤��ε�ǽ��Ȥ���褦�ˤ���ˤ� --enable-unicode-conversion ���ץ�����Ĥ��ƥ���ե�����졼������Ԥ��ޤ������ξ�� --enable-multibyte ���ץ�����ɬ�פǤ��Τ����դ��Ʋ�������

7.2 �Ǥ� --enable-unicode-conversion ���ץ�����ɬ�פ���ޤ���

5.2.5. �������Բ�ǽ�ʾ��˵����뤳��

�����ФǤ� EUC_JP ���������ƥ��饤����ȤǤ� LATIN1 �����򤵤�Ƥ���Ȳ��ꤷ�ޤ���������������ܸ�ʸ���Τ����Ĥ��� LATIN1 ���������뤳�Ȥ��Ǥ��ޤ��󡣤��ξ�� LATIN1 ʸ�����åȤ�ɽ���Ǥ��ʤ�ʸ���ϼ��Τ褦���ѷ����ޤ���

(HEXA DECIMAL)

5.2.6. ����ʸ��

�����˵�������ΤϤ��ޤ��ޤ���沽���������ƥ��ؽ����뤿��ˤ褤�����Ǥ���

ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/cjk.inf

��������� 3.2 �� EUC_JP�� EUC_CN��EUC_KR�� EUC_TW �ξܤ�������������ޤ���

http://www.unicode.org/

Unicode ����� Web �����ȤǤ���

RFC 2044

������ UTF-8 ���������Ƥ��ޤ���

5.2.7. ���

Dec 7, 2000
        * Unicode ��¾�Υ��󥳡��ɴ֤���沽���������μ�ư�������
        * �����ѹ��� 7.1 ����


May 20, 2000
        * SJIS UDC��NEC �ˤ�� IBM �����˥��ݡ��ȡʤȤ��䤨������ι׸��ˤ���
        * �����ѹ��� 7.0.1 ����

Mar 22, 2000
        * libpq �˴ؿ� PQsetClientEncoding �� PQclientEncoding ���ɲ�
        * ./configure --with-mb=EUC_JP �������
          ./configure --enable-multibyte=EUC_JP ��Ȥ��褦���ѹ�
        * SQL_ASCII �ꥰ��å����ƥ��ȥ��������ɲ�
        * SJIS �桼�������ʸ����UDC�ˤ򥵥ݡ���
        * �������ѹ��� 7.0 ����

July 11, 1999
        * WIN1250��Windows Czech�˥��ݡ��Ȥ򥯥饤����ȥ��󥳡��ɤ��ɲ�
         ��Pavel Behal �ι׸��ˤ���
        * ����ѥ���ηٹ�ˤĤ��ƽ����ʤˤ���ޤȤ⤢����ι׸��ˤ���

Mar 23, 1999
        * KOI8��KOI8-R�ˡ�WIN��CP1251�ˡ�ALT��CP866�ˤΥ��ݡ���
         ��Oleg Broytmann �ˤ��ƥ��Ȥ˴��ա�
        * MB �ȥ�������˴ؤ����������

Jan 26, 1999
        * �ե���ȥ������沽������ Big 5 ���ݡ��Ȥ��ɲ�
         ��Big5 ��Ȥ��ˤϥǡ����١����� EUC_TW �Ǻ������Ƥ���������
        * EUC_TW �ꥰ��å����ƥ��ȥ��������ɲ�

Dec 15, 1998
        * SQL_ASCII ���ݡ��Ȥ˴ؤ���Х�����

Nov 5, 1998
        * 6.4��꡼�������ΥС�����󤫤� pg_database �ϥǡ����١�����
          ��沽������ɽ�������encoding���������ޤ���

Jul 22, 1998
        * ��沽������Ƚ��򥳥�ѥ�������� initdb/createdb ���ѹ�
        * COPY ���ޥ�ɼ¹Ի��� PGCLIENTENCODING �򥵥ݡ���
        * SQL92 �� SET NAMES �򥵥ݡ���
        * LATIN2-5 �򥵥ݡ���
        * UNICODE �ꥰ��å����ƥ��ȥ��������ɲ�
        * MB �Υƥ��ȥ������Ȥ��ɲ�
        * �������ե����������

Jun 5, 1998
        * �Хå�����ɤȥե���ȥ���ɤ���沽���������򥵥ݡ���
        * SET CLIENT_ENCODING �ʤɤο��������ޥ�ɤ��ɲ�
        * LATIN1 ʸ�����åȤ򥵥ݡ���
        * 8 bit �ʷ餵�ε�ǽ����

April 21, 1998 
          �����Ĥ��ε�ǽ�����Ƚ���
        * character_length()��position()��substring() ��
          �ޥ���Х���ʸ������Ѳ�ǽ��
        * octet_length() ���ɲ�
        * configure �� --with-mb ���ɲ�
        * ������EUC_KR�Υꥰ��å����ƥ���
         ��Soonmyung Hong �ι׸��ˤ��)
        * EUC_JP �Υꥰ��å����ƥ��ȥ��������ɲ�
        * System V �� regress/regress.sh ���������
        * toupper()��tolower() �� 8 �ӥå�ʸ���򰷤���褦�˽���

Mar 25, 1998 
        * PostgreSQL 6.3.1 �� MB PL2 ��Ƴ��

Mar 10, 1998
        PL2 �Υ�꡼��
        * EUC_JP��EUC_CN��MULE_INTERNAL �Υꥰ��å����ƥ��Ȥ��ɲ�
        * �Ѹ�ɥ������(���Υե�����)���ɲ�
        * 8 �ӥåȥ��󥰥�Х���ʸ���˴ؤ����������

Mar 1, 1998
        PL1 �Υ�꡼��

5.2.8. Windows/ODBC ��� WIN1250

�������륵�ݡ��Ȥ�ͭ���ȤʤäƤ��� PostgreSQL �Ǥ� Windows ���饤����ȥץ�åȥե�����Ǥ� WIN1250 ʸ�����åȤ����ѤǤ��ޤ���

�ʲ��ι��ܤ����դ�ɬ�פǤ���

Windows/ODBC ��� WIN1250

  1. PostgreSQL ���������ư���ǽ�ȥ����Х�������沽������ LATIN2 �ˤ��ƥ���ѥ��뤷�ޤ���

  2. ���󥹥ȥ졼�����������Ԥ��ޤ����Ķ��ѿ��˥��������ѿ���������뤳�Ȥ�˺��ƤϤ����ޤ���

    LC_ALL=cs_CZ.ISO8859-2

  3. �������뤬���ꤵ�줿���֤ǥ����Ф��Ư�����ʤ���Фʤ�ޤ���

  4. ���������ȤäƤߤƤ����������������䤤��碌���¤��ؤ��򤷤ޤ���

  5. Windows �ޥ����� PostgreSQL �� ODBC �ɥ饤�Ф򥤥󥹥ȡ��뤷�ޤ���

  6. �ǡ��������������������ꤷ�ޤ����Ĥ��ιԤ� Connect Settings �ե�����ɤˤ��� ODBC ����ե�����졼�����Υ����������ܥå����˲ä��ޤ���

    SET CLIENT_ENCODING = 'WIN1250';

  7. ����ɤ� ODBC �����ä� Windows ����⤦���ٻ�ޤ���