> Tatsuo Ishii wrote:
> > > > It was made to cope with encoding such as an Asian bloc in 7.2Beta2. > > > > > > > > Added ServerEncoding > > > > Korean (JOHAB), Thai (WIN874), > > > > Vietnamese (TCVN), Arabic (WIN1256) > > > > > > > > Added ClientEncoding > > > > Simplified Chinese (GBK), Korean (UHC) > > > > > > > > > > > > > http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2b2.newencoding.diff.tar.gz > > > > (608K) > > > > > > Looks good. I need some people to review this for me. > > > > For me they look good too. The only missing part is a > > documentation. I will ask him to write it up. If he couldn't, I will > > do it for him. > > > The diff is 3mb > > > but appears to address only additions to multibyte. I have attached a > > > list of files it modifies. Also, look at the sizes of the mb/ > > > directory. It is getting large: > > > > > > 4 ./CVS > > > 6 ./Unicode/CVS > > > 3433 ./Unicode > > > 6197 . > > > > Yes. We definitely need the on-the-fly encoding addition capability: > > i.e. CREATE CHRACTER SET in the future... > > -- > > Tatsuo Ishii > > > > Address chainge. http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2.newencoding.diff.gz Add PsqlODBC and document ...etc patch. Eiji Tokuya
This commit is contained in:
parent
03194432de
commit
a8bd7e1c6e
17 changed files with 5959 additions and 4911 deletions
5
configure
vendored
5
configure
vendored
|
@ -895,14 +895,15 @@ if test x"${enable_multibyte+set}" = xset; then
|
|||
enable_multibyte=yes
|
||||
|
||||
case $enableval in
|
||||
SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
|
||||
SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|JOHAB|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|WIN1256|TCVN|WIN874|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
|
||||
MULTIBYTE=$enableval;;
|
||||
*)
|
||||
{ echo "configure: error: argument to --enable-multibyte must be one of:
|
||||
SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW,
|
||||
SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, JOHAB,
|
||||
UNICODE, MULE_INTERNAL,
|
||||
LATIN1, LATIN2, LATIN3, LATIN4, LATIN5,
|
||||
LATIN6, LATIN7, LATIN8, LATIN9, LATIN10,
|
||||
WIN1256, TCVN, WIN874,
|
||||
KOI8, WIN, ALT,
|
||||
ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8
|
||||
Or do not specify an argument to the option to use the default." 1>&2; exit 1; };;
|
||||
|
|
|
@ -179,16 +179,16 @@ PGAC_ARG_OPTARG(enable, multibyte, [ --enable-multibyte enable multibyte c
|
|||
[MULTIBYTE=SQL_ASCII],
|
||||
[
|
||||
case $enableval in
|
||||
SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
|
||||
SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|JOHAB|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|WIN1256|TCVN|WIN874|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
|
||||
MULTIBYTE=$enableval;;
|
||||
*)
|
||||
AC_MSG_ERROR(
|
||||
[argument to --enable-multibyte must be one of:
|
||||
SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW,
|
||||
SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, JOHAB,
|
||||
UNICODE, MULE_INTERNAL,
|
||||
LATIN1, LATIN2, LATIN3, LATIN4, LATIN5,
|
||||
LATIN6, LATIN7, LATIN8, LATIN9, LATIN10,
|
||||
KOI8, WIN, ALT,
|
||||
WIN1256, TCVN, WIN874, KOI8, WIN, ALT,
|
||||
ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8
|
||||
Or do not specify an argument to the option to use the default.]);;
|
||||
esac
|
||||
|
|
|
@ -45,6 +45,7 @@ PostgreSQL 7.2 multi-byte (MB) support README 2001/9/18 $B:n@.(B
|
|||
EUC_CN GB $B$r%Y!<%9$K$7$?CfJ8(BEUC$B!%(Bcode set 2 $B$O(B
|
||||
SS2+2$B%P%$%H%3!<%I(B = 3$B%P%$%HI=8=$G$9!%(B
|
||||
EUC_KR $B4Z9q8l(B EUC$B!%(B
|
||||
JOHAB $B%O%s%0%k%Y!<%9$N4Z9q8l(BEUC.
|
||||
EUC_TW $BBfOQ$N(B EUC$B!%(Bcode set 2 $B$O(B
|
||||
SS2+$BLLHV9f(B+2$B%P%$%H%3!<%I(B = 4$B%P%$%HI=8=$G$9!%(B
|
||||
UNICODE UTF-8$B!%$?$@$7%5%]!<%H$9$k$N$O(B UCS-2 $B$NHO0O!$(B
|
||||
|
@ -56,6 +57,9 @@ PostgreSQL 7.2 multi-byte (MB) support README 2001/9/18 $B:n@.(B
|
|||
$B%-%j%kJ8;z(B KOI8(KOI8-R), WIN(CP1251), ALT(CP866)$B$r%5%]!<%H(B
|
||||
$B$7$F$$$^$9!%$b$A$m$s(B ISO 8859-5 $B$b;HMQ2DG=$G$9!%(B
|
||||
$B$3$N>l9g!$(B"LATIN5" $B$H$7$F;XDj$7$F2<$5$$!%(B
|
||||
WIN1256 $B%"%i%V=t9q8l(BWindows$BMQ%(%s%3!<%G%#%s%0(B.
|
||||
TCVN $B%Y%H%J%`8l(B."ABC"$B$d(B"VSCII"$B$b;HMQ2DG=(B.
|
||||
WIN874 $B%?%$8l(B.
|
||||
|
||||
$BA*Br$NL\0B$H$7$F$O!$1Q8l$HF|K\8l$7$+;H$o$J$$>l9g$O(B EUC_JP($BF1MM$K!$Cf(B
|
||||
$B9q8l$7$+;H$o$J$$>l9g$O(B EUC_CN... $B$J$I$H$J$j$^$9(B)$B!$$=$NB>$N8@8l$b;H$$$?(B
|
||||
|
@ -165,22 +169,40 @@ $ psql -l
|
|||
$B%(%s%3!<%G%#%s%0(B
|
||||
----------------------------------------------------------------
|
||||
EUC_JP EUC_JP, SJIS, UNICODE
|
||||
|
||||
|
||||
EUC_TW EUC_TW, BIG5, UNICODE
|
||||
|
||||
|
||||
EUC_CN EUC_CN, UNICODE
|
||||
|
||||
EUC_KR EUC_KR, UNICODE
|
||||
|
||||
JOHAB JOHAB, UNICODE
|
||||
|
||||
LATIN1,3,4 LATIN1,3,4, UNICODE
|
||||
|
||||
LATIN2 LATIN2, WIN1250, UNICODE
|
||||
|
||||
|
||||
LATIN5 LATIN5, WIN, ALT, UNICODE
|
||||
|
||||
|
||||
LATIN6,7,8,9,10 LATIN6,7,8,9,10, UNICODE
|
||||
|
||||
ISO_8859_5,6,7,8 ISO_8859_5,6,7,8, UNICODE
|
||||
|
||||
WIN1256 WIN1256, UNICODE
|
||||
|
||||
TCVN TCVN, UNICODE
|
||||
|
||||
WIN874 WIN874, UNICODE
|
||||
|
||||
MULE_INTERNAL EUC_JP, SJIS, EUC_KR, EUC_CN,
|
||||
EUC_TW, BIG5, LATIN1$B$+$i(B5,
|
||||
WIN, ALT, WIN1250
|
||||
|
||||
UNICODE EUC_JP, SJIS, EUC_KR, EUC_CN,
|
||||
EUC_TW, BIG5, LATIN1$B$+$i(B5,
|
||||
WIN, ALT, WIN1250
|
||||
UNICODE EUC_JP, SJIS, EUC_KR, UHC,
|
||||
EUC_CN, GBK, EUC_TW, BIG5,
|
||||
LATIN1$B$+$i(B10, ISO_8859_5$B$+$i(B8,
|
||||
WIN, ALT, WIN1250, WIN1256,
|
||||
TCVN, WIN874, JOHAB
|
||||
----------------------------------------------------------------
|
||||
|
||||
$B%P%C%/%(%s%I$H%U%m%s%H%(%s%I$N%(%s%3!<%G%#%s%0$,0[$J$k>l9g!$$=$N$3$H(B
|
||||
|
@ -390,12 +412,28 @@ o set client_encoding $B%3%^%s%I$r;H$&J}K!(B
|
|||
ISO 8859-3 8859-3.TXT
|
||||
ISO 8859-4 8859-4.TXT
|
||||
ISO 8859-5 8859-5.TXT
|
||||
EUC_JP JIS0201.TXT, JIS0208.TXT, JIS0212.TXT
|
||||
ISO 8859-6 8859-6.TXT
|
||||
ISO 8859-7 8859-7.TXT
|
||||
ISO 8859-8 8859-8.TXT
|
||||
ISO 8859-9 8859-9.TXT
|
||||
ISO 8859-10 8859-10.TXT
|
||||
ISO 8859-13 8859-13.TXT
|
||||
ISO 8859-14 8859-14.TXT
|
||||
ISO 8859-15 8859-15.TXT
|
||||
ISO 8859-16 8859-16.TXT
|
||||
EUC_JP JIS0201.TXT, JIS0208.TXT, JIS0212.TXT,
|
||||
CP932.TXT, sjis.map
|
||||
SJIS CP932.TXT
|
||||
EUC_CN GB2312.TXT
|
||||
EUC_KR OLD5601.TXT
|
||||
GBK CP936.TXT
|
||||
EUC_KR KSX1001.TXT
|
||||
UHC CP949.TXT
|
||||
JOHAB JOHAB.TXT
|
||||
EUC_TW CNS11643.TXT
|
||||
Big5 BIG5.TXT
|
||||
WIN1256 CP1256.TXT
|
||||
TCVN CP1258.TXT
|
||||
WIN874 CP874.TXT
|
||||
============================================================
|
||||
|
||||
$B<U<-!'(B
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.21 2002/01/20 22:19:55 petere Exp $ -->
|
||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.22 2002/03/05 05:52:42 momjian Exp $ -->
|
||||
|
||||
<chapter id="charset">
|
||||
<title>Localization</>
|
||||
|
@ -370,6 +370,10 @@ perl: warning: Falling back to the standard locale ("C").
|
|||
<entry><literal>EUC_KR</literal></entry>
|
||||
<entry>Korean <acronym>EUC</></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>JOHAB</literal></entry>
|
||||
<entry>Korean <acronym>EUC</> (Hangle base)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>EUC_TW</literal></entry>
|
||||
<entry>Taiwan <acronym>EUC</acronym></entry>
|
||||
|
@ -450,6 +454,18 @@ perl: warning: Falling back to the standard locale ("C").
|
|||
<entry><literal>ALT</literal></entry>
|
||||
<entry>Windows CP866</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>WIN1256</literal></entry>
|
||||
<entry>Arabic Windows CP1256</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>TCVN</literal></entry>
|
||||
<entry>Vietnamese TCVN-5712(Windows CP1258)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>WIN874</literal></entry>
|
||||
<entry>Thai Windows CP874</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
@ -580,6 +596,21 @@ $ <userinput>psql -l</userinput>
|
|||
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>EUC_CN</literal></entry>
|
||||
<entry><literal>EUC_CN</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>EUC_KR</literal></entry>
|
||||
<entry><literal>EUC_KR</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>JOHAB</literal></entry>
|
||||
<entry><literal>JOHAB</literal>, <literal>UNICODE</literal>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>EUC_TW</literal></entry>
|
||||
<entry><literal>EUC_TW</literal>, <literal>BIG5</literal>,
|
||||
|
@ -682,15 +713,19 @@ $ <userinput>psql -l</userinput>
|
|||
<entry><literal>UNICODE</literal></entry>
|
||||
<entry>
|
||||
<literal>EUC_JP</literal>, <literal>SJIS</literal>,
|
||||
<literal>EUC_KR</literal>, <literal>EUC_CN</literal>,
|
||||
<literal>EUC_KR</literal>, <literal>UHC</literal>, <literal>JOHAB</literal>,
|
||||
<literal>EUC_CN</literal>, <literal>GBK</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>
|
||||
<literal>WIN</literal>, <literal>ALT</literal>,
|
||||
<literal>KOI8</literal>,
|
||||
<literal>WIN1256</literal>,
|
||||
<literal>TCVN</literal>,
|
||||
<literal>WIN874</literal>,
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
|
@ -720,6 +755,24 @@ $ <userinput>psql -l</userinput>
|
|||
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>WIN1256</literal></entry>
|
||||
<entry><literal>WIN1256</literal>,
|
||||
<literal>UNICODE</literal>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>TCVN</literal></entry>
|
||||
<entry><literal>TCVN</literal>,
|
||||
<literal>UNICODE</literal>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>WIN874</literal></entry>
|
||||
<entry><literal>WIN874</literal>,
|
||||
<literal>UNICODE</literal>
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#
|
||||
# Copyright 2001 by PostgreSQL Global Development Group
|
||||
#
|
||||
# $Id: UCS_to_EUC_KR.pl,v 1.2 2001/04/16 06:10:18 ishii Exp $
|
||||
# $Id: UCS_to_EUC_KR.pl,v 1.3 2002/03/05 05:52:45 momjian Exp $
|
||||
#
|
||||
# Generate UTF-8 <--> EUC_KR code conversion tables from
|
||||
# map files provided by Unicode organization.
|
||||
|
@ -20,7 +20,7 @@ require "ucs2utf.pl";
|
|||
|
||||
# first generate UTF-8 --> EUC_KR table
|
||||
|
||||
$in_file = "OLD5601.TXT";
|
||||
$in_file = "KSX1001.TXT";
|
||||
|
||||
open( FILE, $in_file ) || die( "cannot open $in_file" );
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
||||
static pg_local_to_utf LUmapEUC_JP[ 13477 ] = {
|
||||
{0x8ea1, 0xefbda1},
|
||||
{0x8ea2, 0xefbda2},
|
||||
{0x8ea3, 0xefbda3},
|
||||
|
@ -93,8 +93,9 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
|||
{0xa1bd, 0xe28095},
|
||||
{0xa1be, 0xe28090},
|
||||
{0xa1bf, 0xefbc8f},
|
||||
{0xa1c1, 0xe3809c},
|
||||
{0xa1c2, 0xe28096},
|
||||
{0xa1c0, 0xefbcbc},
|
||||
{0xa1c1, 0xefbd9e},
|
||||
{0xa1c2, 0xe288a5},
|
||||
{0xa1c3, 0xefbd9c},
|
||||
{0xa1c4, 0xe280a6},
|
||||
{0xa1c5, 0xe280a5},
|
||||
|
@ -121,7 +122,7 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
|||
{0xa1da, 0xe38090},
|
||||
{0xa1db, 0xe38091},
|
||||
{0xa1dc, 0xefbc8b},
|
||||
{0xa1dd, 0xe28892},
|
||||
{0xa1dd, 0xefbc8d},
|
||||
{0xa1de, 0xc2b1},
|
||||
{0xa1df, 0xc397},
|
||||
{0xa1e0, 0xc3b7},
|
||||
|
@ -141,8 +142,8 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
|||
{0xa1ee, 0xe28483},
|
||||
{0xa1ef, 0xefbfa5},
|
||||
{0xa1f0, 0xefbc84},
|
||||
{0xa1f1, 0xc2a2},
|
||||
{0xa1f2, 0xc2a3},
|
||||
{0xa1f1, 0xefbfa0},
|
||||
{0xa1f2, 0xefbfa1},
|
||||
{0xa1f3, 0xefbc85},
|
||||
{0xa1f4, 0xefbc83},
|
||||
{0xa1f5, 0xefbc86},
|
||||
|
@ -179,7 +180,7 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
|||
{0xa2c1, 0xe288a9},
|
||||
{0xa2ca, 0xe288a7},
|
||||
{0xa2cb, 0xe288a8},
|
||||
{0xa2cc, 0xc2ac},
|
||||
{0xa2cc, 0xefbfa2},
|
||||
{0xa2cd, 0xe28792},
|
||||
{0xa2ce, 0xe28794},
|
||||
{0xa2cf, 0xe28880},
|
||||
|
@ -585,6 +586,89 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
|||
{0xa8be, 0xe294a5},
|
||||
{0xa8bf, 0xe294b8},
|
||||
{0xa8c0, 0xe29582},
|
||||
{0xada1, 0xe291a0},
|
||||
{0xada2, 0xe291a1},
|
||||
{0xada3, 0xe291a2},
|
||||
{0xada4, 0xe291a3},
|
||||
{0xada5, 0xe291a4},
|
||||
{0xada6, 0xe291a5},
|
||||
{0xada7, 0xe291a6},
|
||||
{0xada8, 0xe291a7},
|
||||
{0xada9, 0xe291a8},
|
||||
{0xadaa, 0xe291a9},
|
||||
{0xadab, 0xe291aa},
|
||||
{0xadac, 0xe291ab},
|
||||
{0xadad, 0xe291ac},
|
||||
{0xadae, 0xe291ad},
|
||||
{0xadaf, 0xe291ae},
|
||||
{0xadb0, 0xe291af},
|
||||
{0xadb1, 0xe291b0},
|
||||
{0xadb2, 0xe291b1},
|
||||
{0xadb3, 0xe291b2},
|
||||
{0xadb4, 0xe291b3},
|
||||
{0xadb5, 0xe285a0},
|
||||
{0xadb6, 0xe285a1},
|
||||
{0xadb7, 0xe285a2},
|
||||
{0xadb8, 0xe285a3},
|
||||
{0xadb9, 0xe285a4},
|
||||
{0xadba, 0xe285a5},
|
||||
{0xadbb, 0xe285a6},
|
||||
{0xadbc, 0xe285a7},
|
||||
{0xadbd, 0xe285a8},
|
||||
{0xadbe, 0xe285a9},
|
||||
{0xadc0, 0xe38d89},
|
||||
{0xadc1, 0xe38c94},
|
||||
{0xadc2, 0xe38ca2},
|
||||
{0xadc3, 0xe38d8d},
|
||||
{0xadc4, 0xe38c98},
|
||||
{0xadc5, 0xe38ca7},
|
||||
{0xadc6, 0xe38c83},
|
||||
{0xadc7, 0xe38cb6},
|
||||
{0xadc8, 0xe38d91},
|
||||
{0xadc9, 0xe38d97},
|
||||
{0xadca, 0xe38c8d},
|
||||
{0xadcb, 0xe38ca6},
|
||||
{0xadcc, 0xe38ca3},
|
||||
{0xadcd, 0xe38cab},
|
||||
{0xadce, 0xe38d8a},
|
||||
{0xadcf, 0xe38cbb},
|
||||
{0xadd0, 0xe38e9c},
|
||||
{0xadd1, 0xe38e9d},
|
||||
{0xadd2, 0xe38e9e},
|
||||
{0xadd3, 0xe38e8e},
|
||||
{0xadd4, 0xe38e8f},
|
||||
{0xadd5, 0xe38f84},
|
||||
{0xadd6, 0xe38ea1},
|
||||
{0xaddf, 0xe38dbb},
|
||||
{0xade0, 0xe3809d},
|
||||
{0xade1, 0xe3809f},
|
||||
{0xade2, 0xe28496},
|
||||
{0xade3, 0xe38f8d},
|
||||
{0xade4, 0xe284a1},
|
||||
{0xade5, 0xe38aa4},
|
||||
{0xade6, 0xe38aa5},
|
||||
{0xade7, 0xe38aa6},
|
||||
{0xade8, 0xe38aa7},
|
||||
{0xade9, 0xe38aa8},
|
||||
{0xadea, 0xe388b1},
|
||||
{0xadeb, 0xe388b2},
|
||||
{0xadec, 0xe388b9},
|
||||
{0xaded, 0xe38dbe},
|
||||
{0xadee, 0xe38dbd},
|
||||
{0xadef, 0xe38dbc},
|
||||
{0xadf0, 0xe28992},
|
||||
{0xadf1, 0xe289a1},
|
||||
{0xadf2, 0xe288ab},
|
||||
{0xadf3, 0xe288ae},
|
||||
{0xadf4, 0xe28891},
|
||||
{0xadf5, 0xe2889a},
|
||||
{0xadf6, 0xe28aa5},
|
||||
{0xadf7, 0xe288a0},
|
||||
{0xadf8, 0xe2889f},
|
||||
{0xadf9, 0xe28abf},
|
||||
{0xadfa, 0xe288b5},
|
||||
{0xadfb, 0xe288a9},
|
||||
{0xadfc, 0xe288aa},
|
||||
{0xb0a1, 0xe4ba9c},
|
||||
{0xb0a2, 0xe59496},
|
||||
{0xb0a3, 0xe5a883},
|
||||
|
@ -6951,7 +7035,7 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
|||
{0x8fa2b8, 0xce84},
|
||||
{0x8fa2b9, 0xce85},
|
||||
{0x8fa2c2, 0xc2a1},
|
||||
{0x8fa2c3, 0xc2a6},
|
||||
{0x8fa2c3, 0xefbfa4},
|
||||
{0x8fa2c4, 0xc2bf},
|
||||
{0x8fa2eb, 0xc2ba},
|
||||
{0x8fa2ec, 0xc2aa},
|
||||
|
@ -13005,5 +13089,111 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
|
|||
{0x8fede0, 0xe9bea1},
|
||||
{0x8fede1, 0xe9bea2},
|
||||
{0x8fede2, 0xe9bea3},
|
||||
{0x8fede3, 0xe9bea5}
|
||||
{0x8fede3, 0xe9bea5},
|
||||
{0x8ff3f3, 0xe285b0},
|
||||
{0x8ff3f4, 0xe285b1},
|
||||
{0x8ff3f5, 0xe285b2},
|
||||
{0x8ff3f6, 0xe285b3},
|
||||
{0x8ff3f7, 0xe285b4},
|
||||
{0x8ff3f8, 0xe285b5},
|
||||
{0x8ff3f9, 0xe285b6},
|
||||
{0x8ff3fa, 0xe285b7},
|
||||
{0x8ff3fb, 0xe285b8},
|
||||
{0x8ff3fc, 0xe285b9},
|
||||
{0x8ff3fd, 0xe285a0},
|
||||
{0x8ff3fe, 0xe285a1},
|
||||
{0x8ff4a1, 0xe285a2},
|
||||
{0x8ff4a2, 0xe285a3},
|
||||
{0x8ff4a3, 0xe285a4},
|
||||
{0x8ff4a4, 0xe285a5},
|
||||
{0x8ff4a5, 0xe285a6},
|
||||
{0x8ff4a6, 0xe285a7},
|
||||
{0x8ff4a7, 0xe285a8},
|
||||
{0x8ff4a8, 0xe285a9},
|
||||
{0x8ff4a9, 0xefbc87},
|
||||
{0x8ff4aa, 0xefbc82},
|
||||
{0x8ff4ab, 0xe388b1},
|
||||
{0x8ff4ac, 0xe28496},
|
||||
{0x8ff4ad, 0xe284a1},
|
||||
{0x8ff4ae, 0xe782bb},
|
||||
{0x8ff4af, 0xe4bbbc},
|
||||
{0x8ff4b0, 0xe583b4},
|
||||
{0x8ff4b1, 0xe587ac},
|
||||
{0x8ff4b2, 0xe58c87},
|
||||
{0x8ff4b3, 0xe58ca4},
|
||||
{0x8ff4b4, 0xefa88e},
|
||||
{0x8ff4b5, 0xe5928a},
|
||||
{0x8ff4b6, 0xe59d99},
|
||||
{0x8ff4b7, 0xefa88f},
|
||||
{0x8ff4b8, 0xefa890},
|
||||
{0x8ff4b9, 0xe5a29e},
|
||||
{0x8ff4ba, 0xe5afac},
|
||||
{0x8ff4bb, 0xe5b3b5},
|
||||
{0x8ff4bc, 0xe5b593},
|
||||
{0x8ff4bd, 0xefa891},
|
||||
{0x8ff4be, 0xe5beb7},
|
||||
{0x8ff4bf, 0xe68285},
|
||||
{0x8ff4c0, 0xe684a0},
|
||||
{0x8ff4c1, 0xe6958e},
|
||||
{0x8ff4c2, 0xe698bb},
|
||||
{0x8ff4c3, 0xe699a5},
|
||||
{0x8ff4c4, 0xefa892},
|
||||
{0x8ff4c5, 0xefa4a9},
|
||||
{0x8ff4c6, 0xe6a081},
|
||||
{0x8ff4c7, 0xefa893},
|
||||
{0x8ff4c8, 0xefa894},
|
||||
{0x8ff4c9, 0xe6a9ab},
|
||||
{0x8ff4ca, 0xe6aba2},
|
||||
{0x8ff4cb, 0xe6b7b8},
|
||||
{0x8ff4cc, 0xe6b7b2},
|
||||
{0x8ff4cd, 0xe780a8},
|
||||
{0x8ff4ce, 0xefa895},
|
||||
{0x8ff4cf, 0xefa896},
|
||||
{0x8ff4d0, 0xe79481},
|
||||
{0x8ff4d1, 0xe79a82},
|
||||
{0x8ff4d2, 0xe79a9e},
|
||||
{0x8ff4d3, 0xefa897},
|
||||
{0x8ff4d4, 0xe7a4b0},
|
||||
{0x8ff4d5, 0xefa898},
|
||||
{0x8ff4d6, 0xefa899},
|
||||
{0x8ff4d7, 0xefa89a},
|
||||
{0x8ff4d8, 0xefa89b},
|
||||
{0x8ff4d9, 0xe7aba7},
|
||||
{0x8ff4da, 0xefa89c},
|
||||
{0x8ff4db, 0xefa89d},
|
||||
{0x8ff4dc, 0xe7b6a0},
|
||||
{0x8ff4dd, 0xe7b796},
|
||||
{0x8ff4de, 0xefa89e},
|
||||
{0x8ff4df, 0xe88da2},
|
||||
{0x8ff4e0, 0xefa89f},
|
||||
{0x8ff4e1, 0xe896b0},
|
||||
{0x8ff4e2, 0xefa8a0},
|
||||
{0x8ff4e3, 0xefa8a1},
|
||||
{0x8ff4e4, 0xe8a087},
|
||||
{0x8ff4e5, 0xefa8a2},
|
||||
{0x8ff4e6, 0xe8adbf},
|
||||
{0x8ff4e7, 0xe8b3b4},
|
||||
{0x8ff4e8, 0xe8b5b6},
|
||||
{0x8ff4e9, 0xefa8a3},
|
||||
{0x8ff4ea, 0xefa8a4},
|
||||
{0x8ff4eb, 0xefa8a5},
|
||||
{0x8ff4ec, 0xe9839e},
|
||||
{0x8ff4ed, 0xefa8a6},
|
||||
{0x8ff4ee, 0xe98495},
|
||||
{0x8ff4ef, 0xefa8a7},
|
||||
{0x8ff4f0, 0xefa8a8},
|
||||
{0x8ff4f1, 0xe99692},
|
||||
{0x8ff4f2, 0xefa79c},
|
||||
{0x8ff4f3, 0xefa8a9},
|
||||
{0x8ff4f4, 0xe99cbb},
|
||||
{0x8ff4f5, 0xe99d8d},
|
||||
{0x8ff4f6, 0xe99d91},
|
||||
{0x8ff4f7, 0xefa8aa},
|
||||
{0x8ff4f8, 0xefa8ab},
|
||||
{0x8ff4f9, 0xefa8ac},
|
||||
{0x8ff4fa, 0xe9a69e},
|
||||
{0x8ff4fb, 0xe9ab99},
|
||||
{0x8ff4fc, 0xe9adb2},
|
||||
{0x8ff4fd, 0xefa8ad},
|
||||
{0x8ff4fe, 0xe9bb91},
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,14 +1,11 @@
|
|||
static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
||||
static pg_utf_to_local ULmapEUC_JP[ 13175 ] = {
|
||||
{0xc2a1, 0x8fa2c2},
|
||||
{0xc2a2, 0xa1f1},
|
||||
{0xc2a3, 0xa1f2},
|
||||
{0xc2a4, 0x8fa2f0},
|
||||
{0xc2a6, 0x8fa2c3},
|
||||
{0xc2a7, 0xa1f8},
|
||||
{0xc2a8, 0xa1af},
|
||||
{0xc2a9, 0x8fa2ed},
|
||||
{0xc2aa, 0x8fa2ec},
|
||||
{0xc2ac, 0xa2cc},
|
||||
{0xc2ae, 0x8fa2ee},
|
||||
{0xc2af, 0x8fa2b4},
|
||||
{0xc2b0, 0xa1eb},
|
||||
|
@ -389,7 +386,6 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xd19f, 0x8fa7fe},
|
||||
{0xe28090, 0xa1be},
|
||||
{0xe28095, 0xa1bd},
|
||||
{0xe28096, 0xa1c2},
|
||||
{0xe28098, 0xa1c6},
|
||||
{0xe28099, 0xa1c7},
|
||||
{0xe2809c, 0xa1c8},
|
||||
|
@ -403,9 +399,30 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe280b3, 0xa1ed},
|
||||
{0xe280bb, 0xa2a8},
|
||||
{0xe28483, 0xa1ee},
|
||||
{0xe28496, 0x8fa2f1},
|
||||
{0xe28496, 0xade2},
|
||||
{0xe284a1, 0xade4},
|
||||
{0xe284a2, 0x8fa2ef},
|
||||
{0xe284ab, 0xa2f2},
|
||||
{0xe285a0, 0xadb5},
|
||||
{0xe285a1, 0xadb6},
|
||||
{0xe285a2, 0xadb7},
|
||||
{0xe285a3, 0xadb8},
|
||||
{0xe285a4, 0xadb9},
|
||||
{0xe285a5, 0xadba},
|
||||
{0xe285a6, 0xadbb},
|
||||
{0xe285a7, 0xadbc},
|
||||
{0xe285a8, 0xadbd},
|
||||
{0xe285a9, 0xadbe},
|
||||
{0xe285b0, 0x8ff3f3},
|
||||
{0xe285b1, 0x8ff3f4},
|
||||
{0xe285b2, 0x8ff3f5},
|
||||
{0xe285b3, 0x8ff3f6},
|
||||
{0xe285b4, 0x8ff3f7},
|
||||
{0xe285b5, 0x8ff3f8},
|
||||
{0xe285b6, 0x8ff3f9},
|
||||
{0xe285b7, 0x8ff3fa},
|
||||
{0xe285b8, 0x8ff3fb},
|
||||
{0xe285b9, 0x8ff3fc},
|
||||
{0xe28690, 0xa2ab},
|
||||
{0xe28691, 0xa2ac},
|
||||
{0xe28692, 0xa2aa},
|
||||
|
@ -418,17 +435,20 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe28887, 0xa2e0},
|
||||
{0xe28888, 0xa2ba},
|
||||
{0xe2888b, 0xa2bb},
|
||||
{0xe28892, 0xa1dd},
|
||||
{0xe28891, 0xadf4},
|
||||
{0xe2889a, 0xa2e5},
|
||||
{0xe2889d, 0xa2e7},
|
||||
{0xe2889e, 0xa1e7},
|
||||
{0xe2889f, 0xadf8},
|
||||
{0xe288a0, 0xa2dc},
|
||||
{0xe288a5, 0xa1c2},
|
||||
{0xe288a7, 0xa2ca},
|
||||
{0xe288a8, 0xa2cb},
|
||||
{0xe288a9, 0xa2c1},
|
||||
{0xe288aa, 0xa2c0},
|
||||
{0xe288ab, 0xa2e9},
|
||||
{0xe288ac, 0xa2ea},
|
||||
{0xe288ae, 0xadf3},
|
||||
{0xe288b4, 0xa1e8},
|
||||
{0xe288b5, 0xa2e8},
|
||||
{0xe288bd, 0xa2e6},
|
||||
|
@ -444,7 +464,28 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe28a86, 0xa2bc},
|
||||
{0xe28a87, 0xa2bd},
|
||||
{0xe28aa5, 0xa2dd},
|
||||
{0xe28abf, 0xadf9},
|
||||
{0xe28c92, 0xa2de},
|
||||
{0xe291a0, 0xada1},
|
||||
{0xe291a1, 0xada2},
|
||||
{0xe291a2, 0xada3},
|
||||
{0xe291a3, 0xada4},
|
||||
{0xe291a4, 0xada5},
|
||||
{0xe291a5, 0xada6},
|
||||
{0xe291a6, 0xada7},
|
||||
{0xe291a7, 0xada8},
|
||||
{0xe291a8, 0xada9},
|
||||
{0xe291a9, 0xadaa},
|
||||
{0xe291aa, 0xadab},
|
||||
{0xe291ab, 0xadac},
|
||||
{0xe291ac, 0xadad},
|
||||
{0xe291ad, 0xadae},
|
||||
{0xe291ae, 0xadaf},
|
||||
{0xe291af, 0xadb0},
|
||||
{0xe291b0, 0xadb1},
|
||||
{0xe291b1, 0xadb2},
|
||||
{0xe291b2, 0xadb3},
|
||||
{0xe291b3, 0xadb4},
|
||||
{0xe29480, 0xa8a1},
|
||||
{0xe29481, 0xa8ac},
|
||||
{0xe29482, 0xa8a2},
|
||||
|
@ -517,7 +558,8 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe38093, 0xa2ae},
|
||||
{0xe38094, 0xa1cc},
|
||||
{0xe38095, 0xa1cd},
|
||||
{0xe3809c, 0xa1c1},
|
||||
{0xe3809d, 0xade0},
|
||||
{0xe3809f, 0xade1},
|
||||
{0xe38181, 0xa4a1},
|
||||
{0xe38182, 0xa4a2},
|
||||
{0xe38183, 0xa4a3},
|
||||
|
@ -695,6 +737,42 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe383bc, 0xa1bc},
|
||||
{0xe383bd, 0xa1b3},
|
||||
{0xe383be, 0xa1b4},
|
||||
{0xe388b1, 0xadea},
|
||||
{0xe388b2, 0xadeb},
|
||||
{0xe388b9, 0xadec},
|
||||
{0xe38aa4, 0xade5},
|
||||
{0xe38aa5, 0xade6},
|
||||
{0xe38aa6, 0xade7},
|
||||
{0xe38aa7, 0xade8},
|
||||
{0xe38aa8, 0xade9},
|
||||
{0xe38c83, 0xadc6},
|
||||
{0xe38c8d, 0xadca},
|
||||
{0xe38c94, 0xadc1},
|
||||
{0xe38c98, 0xadc4},
|
||||
{0xe38ca2, 0xadc2},
|
||||
{0xe38ca3, 0xadcc},
|
||||
{0xe38ca6, 0xadcb},
|
||||
{0xe38ca7, 0xadc5},
|
||||
{0xe38cab, 0xadcd},
|
||||
{0xe38cb6, 0xadc7},
|
||||
{0xe38cbb, 0xadcf},
|
||||
{0xe38d89, 0xadc0},
|
||||
{0xe38d8a, 0xadce},
|
||||
{0xe38d8d, 0xadc3},
|
||||
{0xe38d91, 0xadc8},
|
||||
{0xe38d97, 0xadc9},
|
||||
{0xe38dbb, 0xaddf},
|
||||
{0xe38dbc, 0xadef},
|
||||
{0xe38dbd, 0xadee},
|
||||
{0xe38dbe, 0xaded},
|
||||
{0xe38e8e, 0xadd3},
|
||||
{0xe38e8f, 0xadd4},
|
||||
{0xe38e9c, 0xadd0},
|
||||
{0xe38e9d, 0xadd1},
|
||||
{0xe38e9e, 0xadd2},
|
||||
{0xe38ea1, 0xadd6},
|
||||
{0xe38f84, 0xadd5},
|
||||
{0xe38f8d, 0xade3},
|
||||
{0xe4b880, 0xb0ec},
|
||||
{0xe4b881, 0xc3fa},
|
||||
{0xe4b882, 0x8fb0a1},
|
||||
|
@ -856,6 +934,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe4bbb6, 0xb7ef},
|
||||
{0xe4bbb7, 0xd0c3},
|
||||
{0xe4bbbb, 0xc7a4},
|
||||
{0xe4bbbc, 0x8ff4af},
|
||||
{0xe4bbbd, 0x8fb0cf},
|
||||
{0xe4bbbe, 0x8fb0d0},
|
||||
{0xe4bbbf, 0x8fb0d1},
|
||||
|
@ -1202,6 +1281,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe583af, 0x8fb2c4},
|
||||
{0xe583b1, 0x8fb2c5},
|
||||
{0xe583b2, 0x8fb2d1},
|
||||
{0xe583b4, 0x8ff4b0},
|
||||
{0xe583b5, 0xd1ac},
|
||||
{0xe583b6, 0x8fb2c6},
|
||||
{0xe583b9, 0xd1ab},
|
||||
|
@ -1377,6 +1457,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe587a7, 0xc2fc},
|
||||
{0xe587a9, 0xd1de},
|
||||
{0xe587aa, 0xc6e4},
|
||||
{0xe587ac, 0x8ff4b1},
|
||||
{0xe587ad, 0xd1df},
|
||||
{0xe587ae, 0x8fb3ab},
|
||||
{0xe587b0, 0xd1e0},
|
||||
|
@ -1577,6 +1658,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe58c83, 0x8fb3fc},
|
||||
{0xe58c85, 0xcaf1},
|
||||
{0xe58c86, 0xd2b2},
|
||||
{0xe58c87, 0x8ff4b2},
|
||||
{0xe58c88, 0xd2b3},
|
||||
{0xe58c8a, 0x8fb3fd},
|
||||
{0xe58c8b, 0x8fb3fe},
|
||||
|
@ -1600,6 +1682,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe58ca0, 0xbea2},
|
||||
{0xe58ca1, 0xb6a9},
|
||||
{0xe58ca3, 0xd2ba},
|
||||
{0xe58ca4, 0x8ff4b3},
|
||||
{0xe58ca5, 0x8fb4a9},
|
||||
{0xe58ca7, 0x8fb4aa},
|
||||
{0xe58ca8, 0x8fb4ab},
|
||||
|
@ -1839,6 +1922,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe59286, 0xd2f6},
|
||||
{0xe59288, 0x8fb5a4},
|
||||
{0xe59289, 0x8fb5a5},
|
||||
{0xe5928a, 0x8ff4b5},
|
||||
{0xe5928b, 0xbaf0},
|
||||
{0xe5928c, 0xcfc2},
|
||||
{0xe5928d, 0x8fb5a6},
|
||||
|
@ -2250,6 +2334,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe59d90, 0xbac1},
|
||||
{0xe59d91, 0xb9a3},
|
||||
{0xe59d92, 0x8fb7c0},
|
||||
{0xe59d99, 0x8ff4b6},
|
||||
{0xe59da1, 0xd4b3},
|
||||
{0xe59da2, 0x8fb7c1},
|
||||
{0xe59da4, 0xbaa5},
|
||||
|
@ -2431,6 +2516,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe5a297, 0xc1fd},
|
||||
{0xe5a29c, 0xc4c6},
|
||||
{0xe5a29d, 0x8fb8c7},
|
||||
{0xe5a29e, 0x8ff4b9},
|
||||
{0xe5a29f, 0xd4d2},
|
||||
{0xe5a2a0, 0x8fb8c8},
|
||||
{0xe5a2a1, 0x8fb8c9},
|
||||
|
@ -2915,6 +3001,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe5afa8, 0xdccd},
|
||||
{0xe5afa9, 0xbfb3},
|
||||
{0xe5afab, 0xd5ed},
|
||||
{0xe5afac, 0x8ff4ba},
|
||||
{0xe5afae, 0xcec0},
|
||||
{0xe5afaf, 0x8fbae5},
|
||||
{0xe5afb0, 0xd5ee},
|
||||
|
@ -3067,6 +3154,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe5b3b1, 0x8fbbbf},
|
||||
{0xe5b3b2, 0x8fbbc0},
|
||||
{0xe5b3b4, 0x8fbbc1},
|
||||
{0xe5b3b5, 0x8ff4bb},
|
||||
{0xe5b3b6, 0xc5e7},
|
||||
{0xe5b3ba, 0xd6b8},
|
||||
{0xe5b3bb, 0xbdd4},
|
||||
|
@ -3111,6 +3199,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe5b590, 0xcdf2},
|
||||
{0xe5b591, 0x8fbbd5},
|
||||
{0xe5b592, 0xd6c9},
|
||||
{0xe5b593, 0x8ff4bc},
|
||||
{0xe5b595, 0x8fbbd4},
|
||||
{0xe5b599, 0x8fbbd6},
|
||||
{0xe5b59c, 0xd6bf},
|
||||
|
@ -3503,6 +3592,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe5beb1, 0x8fbdb6},
|
||||
{0xe5beb3, 0xc6c1},
|
||||
{0xe5beb4, 0xc4a7},
|
||||
{0xe5beb7, 0x8ff4be},
|
||||
{0xe5beb8, 0x8fbdb7},
|
||||
{0xe5beb9, 0xc5b0},
|
||||
{0xe5bebc, 0xd7d5},
|
||||
|
@ -3634,6 +3724,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe68282, 0x8fbded},
|
||||
{0xe68283, 0xd7fd},
|
||||
{0xe68284, 0xd8a1},
|
||||
{0xe68285, 0x8ff4bf},
|
||||
{0xe68286, 0x8fbdee},
|
||||
{0xe68288, 0x8fbdef},
|
||||
{0xe68289, 0xbcbd},
|
||||
|
@ -3749,6 +3840,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe6849c, 0x8fbec4},
|
||||
{0xe6849e, 0x8fbec5},
|
||||
{0xe6849f, 0xb4b6},
|
||||
{0xe684a0, 0x8ff4c0},
|
||||
{0xe684a1, 0xd8bb},
|
||||
{0xe684a2, 0x8fbec6},
|
||||
{0xe684a7, 0xd8c3},
|
||||
|
@ -4402,6 +4494,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe69588, 0xdac3},
|
||||
{0xe69589, 0x8fc1cc},
|
||||
{0xe6958d, 0xdac6},
|
||||
{0xe6958e, 0x8ff4c1},
|
||||
{0xe6958f, 0xc9d2},
|
||||
{0xe69590, 0x8fc1cd},
|
||||
{0xe69591, 0xb5df},
|
||||
|
@ -4560,6 +4653,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe698b6, 0xdae4},
|
||||
{0xe698b7, 0x8fc2b0},
|
||||
{0xe698b9, 0x8fc2af},
|
||||
{0xe698bb, 0x8ff4c2},
|
||||
{0xe698bc, 0xc3eb},
|
||||
{0xe698bf, 0xdba6},
|
||||
{0xe69980, 0x8fc2b1},
|
||||
|
@ -4589,6 +4683,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe699a1, 0x8fc2be},
|
||||
{0xe699a2, 0xdaf1},
|
||||
{0xe699a4, 0xdaed},
|
||||
{0xe699a5, 0x8ff4c3},
|
||||
{0xe699a6, 0xb3a2},
|
||||
{0xe699a7, 0xdaee},
|
||||
{0xe699a8, 0xdaef},
|
||||
|
@ -4861,6 +4956,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe69fbb, 0xbaba},
|
||||
{0xe69fbe, 0xcbef},
|
||||
{0xe69fbf, 0xb3c1},
|
||||
{0xe6a081, 0x8ff4c6},
|
||||
{0xe6a082, 0xc4ce},
|
||||
{0xe6a083, 0xc6ca},
|
||||
{0xe6a084, 0xb1c9},
|
||||
|
@ -5248,6 +5344,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe6a9a6, 0xdcf5},
|
||||
{0xe6a9a7, 0x8fc5b2},
|
||||
{0xe6a9aa, 0x8fc5b3},
|
||||
{0xe6a9ab, 0x8ff4c9},
|
||||
{0xe6a9b1, 0x8fc5b4},
|
||||
{0xe6a9b2, 0xdcef},
|
||||
{0xe6a9b3, 0x8fc5b5},
|
||||
|
@ -5309,6 +5406,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe6ab9d, 0x8fc5d4},
|
||||
{0xe6ab9e, 0xdda9},
|
||||
{0xe6ab9f, 0xddab},
|
||||
{0xe6aba2, 0x8ff4ca},
|
||||
{0xe6aba4, 0x8fc5d5},
|
||||
{0xe6aba7, 0x8fc5d6},
|
||||
{0xe6aba8, 0xc8a7},
|
||||
|
@ -5756,11 +5854,13 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe6b7af, 0x8fc7e2},
|
||||
{0xe6b7b0, 0x8fc7e3},
|
||||
{0xe6b7b1, 0xbfbc},
|
||||
{0xe6b7b2, 0x8ff4cc},
|
||||
{0xe6b7b3, 0xbddf},
|
||||
{0xe6b7b4, 0x8fc7e4},
|
||||
{0xe6b7b5, 0xcaa5},
|
||||
{0xe6b7b6, 0x8fc7e5},
|
||||
{0xe6b7b7, 0xbaae},
|
||||
{0xe6b7b8, 0x8ff4cb},
|
||||
{0xe6b7b9, 0xdebb},
|
||||
{0xe6b7ba, 0xdec9},
|
||||
{0xe6b7bb, 0xc5ba},
|
||||
|
@ -6070,6 +6170,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe780a3, 0x8fc9b1},
|
||||
{0xe780a6, 0xc3f5},
|
||||
{0xe780a7, 0xc2ed},
|
||||
{0xe780a8, 0x8ff4cd},
|
||||
{0xe780ac, 0xc0a5},
|
||||
{0xe780af, 0x8fc9b2},
|
||||
{0xe780b0, 0xdfd0},
|
||||
|
@ -6135,6 +6236,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe782b8, 0xdfda},
|
||||
{0xe782b9, 0xc5c0},
|
||||
{0xe782ba, 0xb0d9},
|
||||
{0xe782bb, 0x8ff4ae},
|
||||
{0xe78388, 0xcef5},
|
||||
{0xe7838a, 0x8fc9d8},
|
||||
{0xe7838b, 0xdfde},
|
||||
|
@ -6708,6 +6810,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe793bb, 0x8fccfb},
|
||||
{0xe793bc, 0x8fccfc},
|
||||
{0xe793bf, 0x8fccfd},
|
||||
{0xe79481, 0x8ff4d0},
|
||||
{0xe79483, 0xe1ac},
|
||||
{0xe79484, 0xe1ab},
|
||||
{0xe79485, 0xe1ad},
|
||||
|
@ -6972,6 +7075,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe799be, 0xc9b4},
|
||||
{0xe79a80, 0xe2a5},
|
||||
{0xe79a81, 0x8fceb5},
|
||||
{0xe79a82, 0x8ff4d1},
|
||||
{0xe79a83, 0xe2a6},
|
||||
{0xe79a84, 0xc5aa},
|
||||
{0xe79a85, 0x8fceb6},
|
||||
|
@ -6991,6 +7095,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe79a9b, 0x8fceba},
|
||||
{0xe79a9c, 0x8fcebb},
|
||||
{0xe79a9d, 0x8fcebc},
|
||||
{0xe79a9e, 0x8ff4d2},
|
||||
{0xe79a9f, 0x8fcebd},
|
||||
{0xe79aa0, 0x8fcebe},
|
||||
{0xe79aa2, 0x8fcebf},
|
||||
|
@ -7353,6 +7458,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe7a4ab, 0xe3aa},
|
||||
{0xe7a4ac, 0xe3a9},
|
||||
{0xe7a4ad, 0x8fd0c7},
|
||||
{0xe7a4b0, 0x8ff4d4},
|
||||
{0xe7a4b1, 0x8fd0c8},
|
||||
{0xe7a4b4, 0x8fd0c9},
|
||||
{0xe7a4b5, 0x8fd0ca},
|
||||
|
@ -7630,6 +7736,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe7aba3, 0xbdd7},
|
||||
{0xe7aba5, 0xc6b8},
|
||||
{0xe7aba6, 0xe3f0},
|
||||
{0xe7aba7, 0x8ff4d9},
|
||||
{0xe7aba8, 0x8fd1ea},
|
||||
{0xe7aba9, 0x8fd1eb},
|
||||
{0xe7abaa, 0xc3a8},
|
||||
|
@ -8084,6 +8191,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe7b69d, 0x8fd3fe},
|
||||
{0xe7b69e, 0x8fd4a1},
|
||||
{0xe7b69f, 0xe5c6},
|
||||
{0xe7b6a0, 0x8ff4dc},
|
||||
{0xe7b6a2, 0xe5c2},
|
||||
{0xe7b6a3, 0xe5bc},
|
||||
{0xe7b6a6, 0x8fd4a2},
|
||||
|
@ -8124,6 +8232,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe7b791, 0xced0},
|
||||
{0xe7b792, 0xbdef},
|
||||
{0xe7b795, 0xe5ee},
|
||||
{0xe7b796, 0x8ff4dd},
|
||||
{0xe7b797, 0x8fd4b1},
|
||||
{0xe7b798, 0xe5c8},
|
||||
{0xe7b799, 0x8fd4b2},
|
||||
|
@ -8925,6 +9034,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe88d96, 0x8fd7fb},
|
||||
{0xe88d97, 0x8fd7fc},
|
||||
{0xe88d98, 0xc1f1},
|
||||
{0xe88da2, 0x8ff4df},
|
||||
{0xe88db0, 0x8fd7fd},
|
||||
{0xe88db3, 0xe8ba},
|
||||
{0xe88db5, 0xe8bb},
|
||||
|
@ -9262,6 +9372,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe896ad, 0x8fd9f4},
|
||||
{0xe896ae, 0xccf9},
|
||||
{0xe896af, 0xbdf2},
|
||||
{0xe896b0, 0x8ff4e1},
|
||||
{0xe896b4, 0x8fd9e7},
|
||||
{0xe896b6, 0x8fd9e8},
|
||||
{0xe896b7, 0x8fd9e9},
|
||||
|
@ -9600,6 +9711,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe8a083, 0x8fdbe9},
|
||||
{0xe8a085, 0xeaa4},
|
||||
{0xe8a086, 0x8fdbea},
|
||||
{0xe8a087, 0x8ff4e4},
|
||||
{0xe8a089, 0x8fdbeb},
|
||||
{0xe8a08a, 0x8fdbec},
|
||||
{0xe8a08b, 0x8fdbed},
|
||||
|
@ -10164,6 +10276,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe8adbc, 0x8fded5},
|
||||
{0xe8adbd, 0xeca5},
|
||||
{0xe8adbe, 0x8fded6},
|
||||
{0xe8adbf, 0x8ff4e6},
|
||||
{0xe8ae80, 0xeca6},
|
||||
{0xe8ae81, 0x8fded7},
|
||||
{0xe8ae83, 0xbbbe},
|
||||
|
@ -10319,6 +10432,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe8b3af, 0x8fdfb8},
|
||||
{0xe8b3b0, 0x8fdfb9},
|
||||
{0xe8b3b2, 0x8fdfba},
|
||||
{0xe8b3b4, 0x8ff4e7},
|
||||
{0xe8b3b5, 0x8fdfbb},
|
||||
{0xe8b3b7, 0x8fdfbc},
|
||||
{0xe8b3b8, 0x8fdfbd},
|
||||
|
@ -10359,6 +10473,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe8b5b1, 0xece1},
|
||||
{0xe8b5b3, 0xece2},
|
||||
{0xe8b5b4, 0xc9eb},
|
||||
{0xe8b5b6, 0x8ff4e8},
|
||||
{0xe8b5b7, 0xb5af},
|
||||
{0xe8b5bf, 0x8fdfca},
|
||||
{0xe8b681, 0xece3},
|
||||
|
@ -10882,6 +10997,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe9839b, 0xeebe},
|
||||
{0xe9839c, 0x8fe2a9},
|
||||
{0xe9839d, 0x8fe2aa},
|
||||
{0xe9839e, 0x8ff4ec},
|
||||
{0xe9839f, 0x8fe2ab},
|
||||
{0xe983a1, 0xb7b4},
|
||||
{0xe983a2, 0xeebb},
|
||||
|
@ -10909,6 +11025,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe98490, 0x8fe2bb},
|
||||
{0xe98492, 0xeec0},
|
||||
{0xe98494, 0x8fe2bc},
|
||||
{0xe98495, 0x8ff4ee},
|
||||
{0xe98496, 0x8fe2bd},
|
||||
{0xe98497, 0x8fe2be},
|
||||
{0xe98498, 0x8fe2bf},
|
||||
|
@ -11482,6 +11599,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe9968e, 0x8fe6a6},
|
||||
{0xe9968f, 0xb1bc},
|
||||
{0xe99691, 0xb4d7},
|
||||
{0xe99692, 0x8ff4f1},
|
||||
{0xe99693, 0xb4d6},
|
||||
{0xe99694, 0xefdc},
|
||||
{0xe99696, 0xefdd},
|
||||
|
@ -11730,6 +11848,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe99cb3, 0x8fe7ac},
|
||||
{0xe99cb8, 0xdbb1},
|
||||
{0xe99cb9, 0xf0c8},
|
||||
{0xe99cbb, 0x8ff4f4},
|
||||
{0xe99cbd, 0xf0c9},
|
||||
{0xe99cbe, 0xf0ca},
|
||||
{0xe99d81, 0x8fe7ad},
|
||||
|
@ -11740,8 +11859,10 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe99d88, 0xf0cd},
|
||||
{0xe99d89, 0xf0cf},
|
||||
{0xe99d8a, 0x8fe7af},
|
||||
{0xe99d8d, 0x8ff4f5},
|
||||
{0xe99d8e, 0x8fe7b0},
|
||||
{0xe99d8f, 0x8fe7b1},
|
||||
{0xe99d91, 0x8ff4f6},
|
||||
{0xe99d92, 0xc0c4},
|
||||
{0xe99d95, 0x8fe7b2},
|
||||
{0xe99d96, 0xccf7},
|
||||
|
@ -12057,6 +12178,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe9a699, 0xb9e1},
|
||||
{0xe9a69b, 0x8fe8f7},
|
||||
{0xe9a69d, 0x8fe8f8},
|
||||
{0xe9a69e, 0x8ff4fa},
|
||||
{0xe9a69f, 0x8fe8f9},
|
||||
{0xe9a6a5, 0xf1c6},
|
||||
{0xe9a6a6, 0x8fe8fa},
|
||||
|
@ -12207,6 +12329,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe9ab96, 0x8fe9ea},
|
||||
{0xe9ab97, 0x8fe9eb},
|
||||
{0xe9ab98, 0xb9e2},
|
||||
{0xe9ab99, 0x8ff4fb},
|
||||
{0xe9ab9b, 0x8fe9ec},
|
||||
{0xe9ab9c, 0x8fe9ed},
|
||||
{0xe9ab9e, 0xf1f4},
|
||||
|
@ -12313,6 +12436,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe9adad, 0x8feaca},
|
||||
{0xe9adae, 0x8feacb},
|
||||
{0xe9adaf, 0xcfa5},
|
||||
{0xe9adb2, 0x8ff4fc},
|
||||
{0xe9adb3, 0x8feacc},
|
||||
{0xe9adb4, 0xf2b7},
|
||||
{0xe9adb5, 0x8feacd},
|
||||
|
@ -12722,6 +12846,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe9bb8e, 0xf3d5},
|
||||
{0xe9bb8f, 0xf3d6},
|
||||
{0xe9bb90, 0xf3d7},
|
||||
{0xe9bb91, 0x8ff4fe},
|
||||
{0xe9bb92, 0xb9f5},
|
||||
{0xe9bb94, 0xf3d8},
|
||||
{0xe9bb95, 0x8fecf4},
|
||||
|
@ -12852,16 +12977,53 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xe9bea2, 0x8fede1},
|
||||
{0xe9bea3, 0x8fede2},
|
||||
{0xe9bea5, 0x8fede3},
|
||||
{0xefa4a9, 0x8ff4c5},
|
||||
{0xefa79c, 0x8ff4f2},
|
||||
{0xefa88e, 0x8ff4b4},
|
||||
{0xefa88f, 0x8ff4b7},
|
||||
{0xefa890, 0x8ff4b8},
|
||||
{0xefa891, 0x8ff4bd},
|
||||
{0xefa892, 0x8ff4c4},
|
||||
{0xefa893, 0x8ff4c7},
|
||||
{0xefa894, 0x8ff4c8},
|
||||
{0xefa895, 0x8ff4ce},
|
||||
{0xefa896, 0x8ff4cf},
|
||||
{0xefa897, 0x8ff4d3},
|
||||
{0xefa898, 0x8ff4d5},
|
||||
{0xefa899, 0x8ff4d6},
|
||||
{0xefa89a, 0x8ff4d7},
|
||||
{0xefa89b, 0x8ff4d8},
|
||||
{0xefa89c, 0x8ff4da},
|
||||
{0xefa89d, 0x8ff4db},
|
||||
{0xefa89e, 0x8ff4de},
|
||||
{0xefa89f, 0x8ff4e0},
|
||||
{0xefa8a0, 0x8ff4e2},
|
||||
{0xefa8a1, 0x8ff4e3},
|
||||
{0xefa8a2, 0x8ff4e5},
|
||||
{0xefa8a3, 0x8ff4e9},
|
||||
{0xefa8a4, 0x8ff4ea},
|
||||
{0xefa8a5, 0x8ff4eb},
|
||||
{0xefa8a6, 0x8ff4ed},
|
||||
{0xefa8a7, 0x8ff4ef},
|
||||
{0xefa8a8, 0x8ff4f0},
|
||||
{0xefa8a9, 0x8ff4f3},
|
||||
{0xefa8aa, 0x8ff4f7},
|
||||
{0xefa8ab, 0x8ff4f8},
|
||||
{0xefa8ac, 0x8ff4f9},
|
||||
{0xefa8ad, 0x8ff4fd},
|
||||
{0xefbc81, 0xa1aa},
|
||||
{0xefbc82, 0x8ff4aa},
|
||||
{0xefbc83, 0xa1f4},
|
||||
{0xefbc84, 0xa1f0},
|
||||
{0xefbc85, 0xa1f3},
|
||||
{0xefbc86, 0xa1f5},
|
||||
{0xefbc87, 0x8ff4a9},
|
||||
{0xefbc88, 0xa1ca},
|
||||
{0xefbc89, 0xa1cb},
|
||||
{0xefbc8a, 0xa1f6},
|
||||
{0xefbc8b, 0xa1dc},
|
||||
{0xefbc8c, 0xa1a4},
|
||||
{0xefbc8d, 0xa1dd},
|
||||
{0xefbc8e, 0xa1a5},
|
||||
{0xefbc8f, 0xa1bf},
|
||||
{0xefbc90, 0xa3b0},
|
||||
|
@ -12908,6 +13070,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xefbcb9, 0xa3d9},
|
||||
{0xefbcba, 0xa3da},
|
||||
{0xefbcbb, 0xa1ce},
|
||||
{0xefbcbc, 0xa1c0},
|
||||
{0xefbcbd, 0xa1cf},
|
||||
{0xefbcbe, 0xa1b0},
|
||||
{0xefbcbf, 0xa1b2},
|
||||
|
@ -12941,6 +13104,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xefbd9b, 0xa1d0},
|
||||
{0xefbd9c, 0xa1c3},
|
||||
{0xefbd9d, 0xa1d1},
|
||||
{0xefbd9e, 0xa1c1},
|
||||
{0xefbda1, 0x8ea1},
|
||||
{0xefbda2, 0x8ea2},
|
||||
{0xefbda3, 0x8ea3},
|
||||
|
@ -13004,6 +13168,10 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
|
|||
{0xefbe9d, 0x8edd},
|
||||
{0xefbe9e, 0x8ede},
|
||||
{0xefbe9f, 0x8edf},
|
||||
{0xefbfa0, 0xa1f1},
|
||||
{0xefbfa1, 0xa1f2},
|
||||
{0xefbfa2, 0xa2cc},
|
||||
{0xefbfa3, 0xa1b1},
|
||||
{0xefbfa4, 0x8fa2c3},
|
||||
{0xefbfa5, 0xa1ef}
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,11 @@
|
|||
static pg_utf_to_local ULmapSJIS[ 7389 ] = {
|
||||
static pg_utf_to_local ULmapSJIS[ 7398 ] = {
|
||||
{0xc19c, 0x815f},
|
||||
{0xc2a2, 0x8191},
|
||||
{0xc2a3, 0x8192},
|
||||
{0xc2a5, 0x5c},
|
||||
{0xc2a7, 0x8198},
|
||||
{0xc2a8, 0x814e},
|
||||
{0xc2ac, 0x81ca},
|
||||
{0xc2b0, 0x818b},
|
||||
{0xc2b1, 0x817d},
|
||||
{0xc2b4, 0x814c},
|
||||
|
@ -123,6 +128,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
|
|||
{0xd191, 0x8476},
|
||||
{0xe28090, 0x815d},
|
||||
{0xe28095, 0x815c},
|
||||
{0xe28096, 0x8161},
|
||||
{0xe28098, 0x8165},
|
||||
{0xe28099, 0x8166},
|
||||
{0xe2809c, 0x8167},
|
||||
|
@ -135,6 +141,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
|
|||
{0xe280b2, 0x818c},
|
||||
{0xe280b3, 0x818d},
|
||||
{0xe280bb, 0x81a6},
|
||||
{0xe280be, 0x7e},
|
||||
{0xe28483, 0x818e},
|
||||
{0xe28496, 0xfa59},
|
||||
{0xe284a1, 0xfa5a},
|
||||
|
@ -172,6 +179,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
|
|||
{0xe28888, 0x81b8},
|
||||
{0xe2888b, 0x81b9},
|
||||
{0xe28891, 0x8794},
|
||||
{0xe28892, 0x817c},
|
||||
{0xe2889a, 0x81e3},
|
||||
{0xe2889d, 0x81e5},
|
||||
{0xe2889e, 0x8187},
|
||||
|
@ -294,6 +302,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
|
|||
{0xe38093, 0x81ac},
|
||||
{0xe38094, 0x816b},
|
||||
{0xe38095, 0x816c},
|
||||
{0xe3809c, 0x8160},
|
||||
{0xe3809d, 0x8780},
|
||||
{0xe3809f, 0x8781},
|
||||
{0xe38181, 0x829f},
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* WIN1250 client encoding support contributed by Pavel Behal
|
||||
* SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya
|
||||
*
|
||||
* $Id: conv.c,v 1.35 2001/11/05 17:46:30 momjian Exp $
|
||||
* $Id: conv.c,v 1.36 2002/03/05 05:52:43 momjian Exp $
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
@ -56,6 +56,20 @@
|
|||
#include "Unicode/sjis_to_utf8.map"
|
||||
#include "Unicode/utf8_to_big5.map"
|
||||
#include "Unicode/big5_to_utf8.map"
|
||||
#include "Unicode/utf8_to_gbk.map"
|
||||
#include "Unicode/gbk_to_utf8.map"
|
||||
#include "Unicode/utf8_to_uhc.map"
|
||||
#include "Unicode/uhc_to_utf8.map"
|
||||
#include "Unicode/utf8_to_johab.map"
|
||||
#include "Unicode/johab_to_utf8.map"
|
||||
#include "Unicode/utf8_to_tcvn.map"
|
||||
#include "Unicode/tcvn_to_utf8.map"
|
||||
#include "Unicode/utf8_to_win1250.map"
|
||||
#include "Unicode/win1250_to_utf8.map"
|
||||
#include "Unicode/utf8_to_win1256.map"
|
||||
#include "Unicode/win1256_to_utf8.map"
|
||||
#include "Unicode/utf8_to_win874.map"
|
||||
#include "Unicode/win874_to_utf8.map"
|
||||
/* Cyrillic charset conversion */
|
||||
#include "Unicode/alt_to_utf8.map"
|
||||
#include "Unicode/koi8r_to_utf8.map"
|
||||
|
@ -1666,6 +1680,153 @@ big5_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
|||
sizeof(LUmapBIG5) / sizeof(pg_local_to_utf), PG_BIG5, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UTF-8 ---> GBK
|
||||
*/
|
||||
static void
|
||||
utf_to_gbk(unsigned char *utf, unsigned char *euc, int len)
|
||||
|
||||
{
|
||||
utf_to_local(utf, euc, ULmapGBK,
|
||||
sizeof(ULmapGBK) / sizeof(pg_utf_to_local), len);
|
||||
}
|
||||
|
||||
/*
|
||||
* GBK ---> UTF-8
|
||||
*/
|
||||
static void
|
||||
gbk_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
||||
{
|
||||
local_to_utf(euc, utf, LUmapGBK,
|
||||
sizeof(LUmapGBK) / sizeof(pg_local_to_utf), PG_GBK, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UTF-8 ---> UHC
|
||||
*/
|
||||
static void
|
||||
utf_to_uhc(unsigned char *utf, unsigned char *euc, int len)
|
||||
|
||||
{
|
||||
utf_to_local(utf, euc, ULmapUHC,
|
||||
sizeof(ULmapUHC) / sizeof(pg_utf_to_local), len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UHC ---> UTF-8
|
||||
*/
|
||||
static void
|
||||
uhc_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
||||
{
|
||||
local_to_utf(euc, utf, LUmapUHC,
|
||||
sizeof(LUmapUHC) / sizeof(pg_local_to_utf), PG_UHC, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UTF-8 ---> JOHAB
|
||||
*/
|
||||
static void
|
||||
utf_to_johab(unsigned char *utf, unsigned char *euc, int len)
|
||||
|
||||
{
|
||||
utf_to_local(utf, euc, ULmapJOHAB,
|
||||
sizeof(ULmapJOHAB) / sizeof(pg_utf_to_local), len);
|
||||
}
|
||||
|
||||
/*
|
||||
* JOHAB ---> UTF-8
|
||||
*/
|
||||
static void
|
||||
johab_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
||||
{
|
||||
local_to_utf(euc, utf, LUmapJOHAB,
|
||||
sizeof(LUmapJOHAB) / sizeof(pg_local_to_utf), PG_JOHAB, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UTF-8 ---> WIN1250
|
||||
*/
|
||||
static void
|
||||
utf_to_win1250(unsigned char *utf, unsigned char *euc, int len)
|
||||
|
||||
{
|
||||
utf_to_local(utf, euc, ULmapWIN1250,
|
||||
sizeof(ULmapWIN1250) / sizeof(pg_utf_to_local), len);
|
||||
}
|
||||
|
||||
/*
|
||||
* WIN1250 ---> UTF-8
|
||||
*/
|
||||
static void
|
||||
win1250_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
||||
{
|
||||
local_to_utf(euc, utf, LUmapWIN1250,
|
||||
sizeof(LUmapWIN1250) / sizeof(pg_local_to_utf), PG_WIN1250, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UTF-8 ---> WIN1256
|
||||
*/
|
||||
static void
|
||||
utf_to_win1256(unsigned char *utf, unsigned char *euc, int len)
|
||||
|
||||
{
|
||||
utf_to_local(utf, euc, ULmapWIN1256,
|
||||
sizeof(ULmapWIN1256) / sizeof(pg_utf_to_local), len);
|
||||
}
|
||||
|
||||
/*
|
||||
* WIN1256 ---> UTF-8
|
||||
*/
|
||||
static void
|
||||
win1256_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
||||
{
|
||||
local_to_utf(euc, utf, LUmapWIN1256,
|
||||
sizeof(LUmapWIN1256) / sizeof(pg_local_to_utf), PG_WIN1256, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UTF-8 ---> TCVN
|
||||
*/
|
||||
static void
|
||||
utf_to_tcvn(unsigned char *utf, unsigned char *euc, int len)
|
||||
|
||||
{
|
||||
utf_to_local(utf, euc, ULmapTCVN,
|
||||
sizeof(ULmapTCVN) / sizeof(pg_utf_to_local), len);
|
||||
}
|
||||
|
||||
/*
|
||||
* TCVN ---> UTF-8
|
||||
*/
|
||||
static void
|
||||
tcvn_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
||||
{
|
||||
local_to_utf(euc, utf, LUmapTCVN,
|
||||
sizeof(LUmapTCVN) / sizeof(pg_local_to_utf), PG_TCVN, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UTF-8 ---> WIN874
|
||||
*/
|
||||
static void
|
||||
utf_to_win874(unsigned char *utf, unsigned char *euc, int len)
|
||||
|
||||
{
|
||||
utf_to_local(utf, euc, ULmapWIN874,
|
||||
sizeof(ULmapWIN874) / sizeof(pg_utf_to_local), len);
|
||||
}
|
||||
|
||||
/*
|
||||
* WIN874 ---> UTF-8
|
||||
*/
|
||||
static void
|
||||
win874_to_utf(unsigned char *euc, unsigned char *utf, int len)
|
||||
{
|
||||
local_to_utf(euc, utf, LUmapWIN874,
|
||||
sizeof(LUmapWIN874) / sizeof(pg_local_to_utf), PG_WIN874, len);
|
||||
}
|
||||
|
||||
/* ----------
|
||||
* Encoding conversion routines
|
||||
*
|
||||
|
@ -1689,6 +1850,9 @@ pg_enconv pg_enconv_tbl[] =
|
|||
{
|
||||
PG_EUC_TW, euc_tw2mic, mic2euc_tw, euc_tw_to_utf, utf_to_euc_tw
|
||||
},
|
||||
{
|
||||
PG_JOHAB, 0, 0, johab_to_utf, utf_to_johab
|
||||
},
|
||||
{
|
||||
PG_UTF8, 0, 0, 0, 0
|
||||
},
|
||||
|
@ -1725,6 +1889,15 @@ pg_enconv pg_enconv_tbl[] =
|
|||
{
|
||||
PG_LATIN10, 0, 0, iso8859_16_to_utf, utf_to_iso8859_16
|
||||
},
|
||||
{
|
||||
PG_WIN1256, 0, 0, win1256_to_utf, utf_to_win1256
|
||||
},
|
||||
{
|
||||
PG_TCVN, 0, 0, tcvn_to_utf, utf_to_tcvn
|
||||
},
|
||||
{
|
||||
PG_WIN874, 0, 0, win874_to_utf, utf_to_win874
|
||||
},
|
||||
{
|
||||
PG_KOI8R, koi8r2mic, mic2koi8r, KOI8R_to_utf, utf_to_KOI8R
|
||||
},
|
||||
|
@ -1754,7 +1927,13 @@ pg_enconv pg_enconv_tbl[] =
|
|||
PG_BIG5, big52mic, mic2big5, big5_to_utf, utf_to_big5
|
||||
},
|
||||
{
|
||||
PG_WIN1250, win12502mic, mic2win1250, 0, 0
|
||||
PG_GBK, 0, 0, gbk_to_utf, utf_to_gbk
|
||||
},
|
||||
{
|
||||
PG_UHC, 0, 0, uhc_to_utf, utf_to_uhc
|
||||
},
|
||||
{
|
||||
PG_WIN1250, win12502mic, mic2win1250, win1250_to_utf, utf_to_win1250
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Encoding names and routines for work with it. All
|
||||
* in this file is shared bedween FE and BE.
|
||||
*
|
||||
* $Id: encnames.c,v 1.6 2001/10/28 06:25:56 momjian Exp $
|
||||
* $Id: encnames.c,v 1.7 2002/03/05 05:52:44 momjian Exp $
|
||||
*/
|
||||
#ifdef FRONTEND
|
||||
#include "postgres_fe.h"
|
||||
|
@ -36,6 +36,9 @@
|
|||
*/
|
||||
pg_encname pg_encname_tbl[] =
|
||||
{
|
||||
{
|
||||
"abc", PG_TCVN
|
||||
}, /* alias for TCVN */
|
||||
{
|
||||
"alt", PG_ALT
|
||||
}, /* IBM866 */
|
||||
|
@ -52,11 +55,16 @@ pg_encname pg_encname_tbl[] =
|
|||
* for Japanese, stdandard OSF */
|
||||
{
|
||||
"euckr", PG_EUC_KR
|
||||
}, /* EUC-KR; RFC1557,Choi */
|
||||
}, /* EUC-KR; Extended Unix Code for
|
||||
* Korean , KS X 1001 standard */
|
||||
{
|
||||
"euctw", PG_EUC_TW
|
||||
}, /* EUC-TW; Extended Unix Code for
|
||||
* traditional Chinese */
|
||||
{
|
||||
"gbk", PG_GBK
|
||||
}, /* GBK; Chinese Windows CodePage 936
|
||||
* simplified Chinese */
|
||||
{
|
||||
"iso88591", PG_LATIN1
|
||||
}, /* ISO-8859-1; RFC1345,KXS2 */
|
||||
|
@ -99,6 +107,10 @@ pg_encname pg_encname_tbl[] =
|
|||
{
|
||||
"iso88599", PG_LATIN5
|
||||
}, /* ISO-8859-9; RFC1345,KXS2 */
|
||||
{
|
||||
"johab", PG_JOHAB
|
||||
}, /* JOHAB; Extended Unix Code for
|
||||
* simplified Chinese */
|
||||
{
|
||||
"koi8", PG_KOI8R
|
||||
}, /* _dirty_ alias for KOI8-R (backward
|
||||
|
@ -151,12 +163,24 @@ pg_encname pg_encname_tbl[] =
|
|||
{
|
||||
"sqlascii", PG_SQL_ASCII
|
||||
},
|
||||
{
|
||||
"tcvn", PG_TCVN
|
||||
}, /* TCVN; Vietnamese TCVN-5712 */
|
||||
{
|
||||
"tcvn5712",PG_TCVN
|
||||
}, /* alias for TCVN */
|
||||
{
|
||||
"uhc", PG_UHC
|
||||
}, /* UHC; Korean Windows CodePage 949 */
|
||||
{
|
||||
"unicode", PG_UTF8
|
||||
}, /* alias for UTF-8 */
|
||||
{
|
||||
"utf8", PG_UTF8
|
||||
}, /* UTF-8; RFC2279 */
|
||||
{
|
||||
"vscii", PG_TCVN
|
||||
}, /* alias for TCVN */
|
||||
{
|
||||
"win", PG_WIN1251
|
||||
}, /* _dirty_ alias for windows-1251
|
||||
|
@ -167,12 +191,54 @@ pg_encname pg_encname_tbl[] =
|
|||
{
|
||||
"win1251", PG_WIN1251
|
||||
}, /* alias for Windows-1251 */
|
||||
{
|
||||
"win1256", PG_WIN1256
|
||||
}, /* alias for Windows-1256 */
|
||||
{
|
||||
"win1258", PG_TCVN
|
||||
}, /* alias for Windows-1258 */
|
||||
{
|
||||
"win874", PG_WIN874
|
||||
}, /* alias for Windows-874 */
|
||||
{
|
||||
"win932", PG_SJIS
|
||||
}, /* alias for Shift_JIS */
|
||||
{
|
||||
"win936", PG_GBK
|
||||
}, /* alias for GBK */
|
||||
{
|
||||
"win949", PG_UHC
|
||||
}, /* alias for UHC */
|
||||
{
|
||||
"win950", PG_BIG5
|
||||
}, /* alias for BIG5 */
|
||||
{
|
||||
"windows1250", PG_WIN1250
|
||||
}, /* Windows-1251; Microsoft */
|
||||
{
|
||||
"windows1251", PG_WIN1251
|
||||
}, /* Windows-1251; Microsoft */
|
||||
{
|
||||
"windows1256", PG_WIN1256
|
||||
}, /* Windows-1256; Microsoft */
|
||||
{
|
||||
"windows1258", PG_TCVN
|
||||
}, /* Windows-1258; Microsoft */
|
||||
{
|
||||
"windows874", PG_WIN874
|
||||
}, /* Windows-874; Microsoft */
|
||||
{
|
||||
"windows932", PG_SJIS
|
||||
}, /* alias for Shift_JIS */
|
||||
{
|
||||
"windows936", PG_GBK
|
||||
}, /* alias for GBK */
|
||||
{
|
||||
"windows949", PG_UHC
|
||||
}, /* alias for UHC */
|
||||
{
|
||||
"windows950", PG_BIG5
|
||||
}, /* alias for BIG5 */
|
||||
|
||||
{
|
||||
NULL, 0
|
||||
|
@ -204,6 +270,9 @@ pg_enc2name pg_enc2name_tbl[] =
|
|||
{
|
||||
"EUC_TW", PG_EUC_TW
|
||||
},
|
||||
{
|
||||
"JOHAB", PG_JOHAB
|
||||
},
|
||||
{
|
||||
"UNICODE", PG_UTF8
|
||||
},
|
||||
|
@ -240,6 +309,15 @@ pg_enc2name pg_enc2name_tbl[] =
|
|||
{
|
||||
"LATIN10", PG_LATIN10
|
||||
},
|
||||
{
|
||||
"WIN1256", PG_WIN1256
|
||||
},
|
||||
{
|
||||
"TCVN", PG_TCVN
|
||||
},
|
||||
{
|
||||
"WIN874", PG_WIN874
|
||||
},
|
||||
{
|
||||
"KOI8", PG_KOI8R
|
||||
},
|
||||
|
@ -267,6 +345,12 @@ pg_enc2name pg_enc2name_tbl[] =
|
|||
{
|
||||
"BIG5", PG_BIG5
|
||||
},
|
||||
{
|
||||
"GBK", PG_GBK
|
||||
},
|
||||
{
|
||||
"UHC", PG_UHC
|
||||
},
|
||||
{
|
||||
"WIN1250", PG_WIN1250
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* conversion functions between pg_wchar and multi-byte streams.
|
||||
* Tatsuo Ishii
|
||||
* $Id: wchar.c,v 1.26 2001/10/28 06:25:56 momjian Exp $
|
||||
* $Id: wchar.c,v 1.27 2002/03/05 05:52:44 momjian Exp $
|
||||
*
|
||||
* WIN1250 client encoding updated by Pavel Behal
|
||||
*
|
||||
|
@ -250,6 +250,21 @@ pg_euctw_mblen(const unsigned char *s)
|
|||
return (len);
|
||||
}
|
||||
|
||||
/*
|
||||
* JOHAB
|
||||
*/
|
||||
static int
|
||||
pg_johab2wchar_with_len(const unsigned char *from, pg_wchar *to, int len)
|
||||
{
|
||||
return (pg_euc2wchar_with_len(from, to, len));
|
||||
}
|
||||
|
||||
static int
|
||||
pg_johab_mblen(const unsigned char *s)
|
||||
{
|
||||
return (pg_euc_mblen(s));
|
||||
}
|
||||
|
||||
/*
|
||||
* convert UTF-8 string to pg_wchar (UCS-2)
|
||||
* caller should allocate enough space for "to"
|
||||
|
@ -457,34 +472,78 @@ pg_big5_mblen(const unsigned char *s)
|
|||
return (len);
|
||||
}
|
||||
|
||||
/*
|
||||
* GBK
|
||||
*/
|
||||
static int
|
||||
pg_gbk_mblen(const unsigned char *s)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (*s > 0x7f)
|
||||
{ /* kanji? */
|
||||
len = 2;
|
||||
}
|
||||
else
|
||||
{ /* should be ASCII */
|
||||
len = 1;
|
||||
}
|
||||
return (len);
|
||||
}
|
||||
|
||||
/*
|
||||
* UHC
|
||||
*/
|
||||
static int
|
||||
pg_uhc_mblen(const unsigned char *s)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (*s > 0x7f)
|
||||
{ /* 2byte? */
|
||||
len = 2;
|
||||
}
|
||||
else
|
||||
{ /* should be ASCII */
|
||||
len = 1;
|
||||
}
|
||||
return (len);
|
||||
}
|
||||
|
||||
pg_wchar_tbl pg_wchar_table[] = {
|
||||
{pg_ascii2wchar_with_len, pg_ascii_mblen, 1}, /* 0; PG_SQL_ASCII */
|
||||
{pg_eucjp2wchar_with_len, pg_eucjp_mblen, 3}, /* 1; PG_EUC_JP */
|
||||
{pg_euccn2wchar_with_len, pg_euccn_mblen, 3}, /* 2; PG_EUC_CN */
|
||||
{pg_euckr2wchar_with_len, pg_euckr_mblen, 3}, /* 3; PG_EUC_KR */
|
||||
{pg_euctw2wchar_with_len, pg_euctw_mblen, 3}, /* 4; PG_EUC_TW */
|
||||
{pg_utf2wchar_with_len, pg_utf_mblen, 3}, /* 5; PG_UNICODE */
|
||||
{pg_mule2wchar_with_len, pg_mule_mblen, 3}, /* 6; PG_MULE_INTERNAL */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 7; PG_LATIN1 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 8; PG_LATIN2 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 9; PG_LATIN3 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 10; PG_LATIN4 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 11; PG_LATIN5 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 12; PG_KOI8 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 13; PG_WIN1251 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 14; PG_ALT */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 15; ISO-8859-5 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 16; ISO-8859-6 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 17; ISO-8859-7 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 18; ISO-8859-8 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 19; ISO-8859-10 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 20; ISO-8859-13 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 21; ISO-8859-14 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 22; ISO-8859-15 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 23; ISO-8859-16 */
|
||||
{0, pg_sjis_mblen, 2}, /* 24; PG_SJIS */
|
||||
{0, pg_big5_mblen, 2}, /* 25; PG_BIG5 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1} /* 26; PG_WIN1250 */
|
||||
{pg_johab2wchar_with_len, pg_johab_mblen, 3}, /* 5; PG_JOHAB */
|
||||
{pg_utf2wchar_with_len, pg_utf_mblen, 3}, /* 6; PG_UNICODE */
|
||||
{pg_mule2wchar_with_len, pg_mule_mblen, 3}, /* 7; PG_MULE_INTERNAL */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 8; PG_LATIN1 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 9; PG_LATIN2 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 10; PG_LATIN3 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 11; PG_LATIN4 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 12; PG_LATIN5 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 13; PG_LATIN6 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 14; PG_LATIN7 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 15; PG_LATIN8 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 16; PG_LATIN9 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 17; PG_LATIN10 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 18; PG_WIN1256 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 19; PG_TCVN */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 20; PG_WIN874 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 21; PG_KOI8 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 22; PG_WIN1251 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 23; PG_ALT */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 24; ISO-8859-5 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 25; ISO-8859-6 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 26; ISO-8859-7 */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 27; ISO-8859-8 */
|
||||
{0, pg_sjis_mblen, 2}, /* 28; PG_SJIS */
|
||||
{0, pg_big5_mblen, 2}, /* 29; PG_BIG5 */
|
||||
{0, pg_gbk_mblen, 2}, /* 30; PG_GBK */
|
||||
{0, pg_uhc_mblen, 2}, /* 31; PG_UHC */
|
||||
{pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 32; PG_WIN1250 */
|
||||
};
|
||||
|
||||
/* returns the byte length of a word for mule internal code */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: pg_wchar.h,v 1.37 2001/11/05 17:46:33 momjian Exp $ */
|
||||
/* $Id: pg_wchar.h,v 1.38 2002/03/05 05:52:50 momjian Exp $ */
|
||||
|
||||
#ifndef PG_WCHAR_H
|
||||
#define PG_WCHAR_H
|
||||
|
@ -159,6 +159,7 @@ typedef enum pg_enc
|
|||
PG_EUC_CN, /* EUC for Chinese */
|
||||
PG_EUC_KR, /* EUC for Korean */
|
||||
PG_EUC_TW, /* EUC for Taiwan */
|
||||
PG_JOHAB, /* EUC for Korean JOHAB */
|
||||
PG_UTF8, /* Unicode UTF-8 */
|
||||
PG_MULE_INTERNAL, /* Mule internal code */
|
||||
PG_LATIN1, /* ISO-8859-1 Latin 1 */
|
||||
|
@ -171,6 +172,9 @@ typedef enum pg_enc
|
|||
PG_LATIN8, /* ISO-8859-14 Latin8 */
|
||||
PG_LATIN9, /* ISO-8859-15 Latin9 */
|
||||
PG_LATIN10, /* ISO-8859-16 Latin10 */
|
||||
PG_WIN1256, /* windows-1256 */
|
||||
PG_TCVN, /* TCVN (Windows-1258) */
|
||||
PG_WIN874, /* windows-874 */
|
||||
PG_KOI8R, /* KOI8-R */
|
||||
PG_WIN1251, /* windows-1251 (was: WIN) */
|
||||
PG_ALT, /* (MS-DOS CP866) */
|
||||
|
@ -180,8 +184,10 @@ typedef enum pg_enc
|
|||
PG_ISO_8859_8, /* ISO-8859-8 */
|
||||
|
||||
/* followings are for client encoding only */
|
||||
PG_SJIS, /* Shift JIS */
|
||||
PG_BIG5, /* Big5 */
|
||||
PG_SJIS, /* Shift JIS (Winindows-932) */
|
||||
PG_BIG5, /* Big5 (Windows-950) */
|
||||
PG_GBK, /* GBK (Windows-936) */
|
||||
PG_UHC, /* UHC (Windows-949) */
|
||||
PG_WIN1250, /* windows-1250 */
|
||||
|
||||
_PG_LAST_ENCODING_ /* mark only */
|
||||
|
@ -189,7 +195,7 @@ typedef enum pg_enc
|
|||
} pg_enc;
|
||||
|
||||
#define PG_ENCODING_BE_LAST PG_ISO_8859_8
|
||||
#define PG_ENCODING_FE_LAST PG_WIN1250
|
||||
#define PG_ENCODING_FE_LAST PG_WIN1256
|
||||
|
||||
|
||||
#ifdef MULTIBYTE
|
||||
|
|
|
@ -944,6 +944,9 @@ another_version_retry:
|
|||
CC_send_settings(self);
|
||||
CC_lookup_lo(self); /* a hack to get the oid of our large
|
||||
* object oid type */
|
||||
#ifdef MULTIBYTE
|
||||
CC_lookup_characterset(self);
|
||||
#endif
|
||||
CC_lookup_pg_version(self); /* Get PostgreSQL version for SQLGetInfo
|
||||
* use */
|
||||
|
||||
|
@ -1247,9 +1250,27 @@ CC_send_query(ConnectionClass *self, char *query, QueryInfo *qi)
|
|||
if (QR_command_successful(res))
|
||||
QR_set_status(res, PGRES_NONFATAL_ERROR);
|
||||
QR_set_notice(res, cmdbuffer); /* will dup this string */
|
||||
|
||||
mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
|
||||
qlog("NOTICE from backend during send_query: '%s'\n", cmdbuffer);
|
||||
#ifdef MULTIBYTE
|
||||
if (strstr(cmdbuffer,"encoding is"))
|
||||
{
|
||||
if (strstr(cmdbuffer,"Current client encoding is"))
|
||||
strcpy(PG_CCSS, cmdbuffer + 36);
|
||||
if (strstr(cmdbuffer,"Current server encoding is"))
|
||||
strcpy(PG_SCSS, cmdbuffer + 36);
|
||||
mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
|
||||
qlog("NOTICE from backend during send_query: '%s'\n ClientEncoding = %s\n ServerEncoding = %s\n", cmdbuffer, PG_CCSS, PG_SCSS);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
|
||||
qlog("NOTICE from backend during send_query: '%s'\n", cmdbuffer);
|
||||
}
|
||||
#else
|
||||
mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
|
||||
qlog("NOTICE from backend during send_query: '%s'\n", cmdbuffer);
|
||||
#endif
|
||||
while (msg_truncated)
|
||||
msg_truncated = SOCK_get_string(sock, cmdbuffer, ERROR_MSG_LENGTH);
|
||||
|
||||
|
|
|
@ -1,138 +1,330 @@
|
|||
/*--------
|
||||
* Module : multibyte.c
|
||||
*
|
||||
* Description: Mlutibyte related additional function.
|
||||
* Description: New Mlutibyte related additional function.
|
||||
*
|
||||
* Create 2001-03-03 Eiji Tokuya
|
||||
* New Create 2001-09-16 Eiji Tokuya
|
||||
*--------
|
||||
*/
|
||||
|
||||
#include "multibyte.h"
|
||||
#include "connection.h"
|
||||
#include "pgapifunc.h"
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int multibyte_client_encoding; /* Multibyte Client Encoding. */
|
||||
int multibyte_status; /* Multibyte Odds and ends character. */
|
||||
int PG_CCST; /* Client Charcter Status */
|
||||
|
||||
int PG_SCSC; /* Server Charcter Set (code) */
|
||||
int PG_CCSC; /* Client Charcter Set (code) */
|
||||
unsigned char *PG_SCSS; /* Server Charcter Set (string) */
|
||||
unsigned char *PG_CCSS; /* Client Charcter Set (string) */
|
||||
|
||||
unsigned char *
|
||||
multibyte_strchr(const unsigned char *s, unsigned char c)
|
||||
pg_CS CS_Table[] =
|
||||
{
|
||||
int mb_st = 0,
|
||||
i = 0;
|
||||
{ "SQL_ASCII", SQL_ASCII },
|
||||
{ "EUC_JP", EUC_JP },
|
||||
{ "EUC_CN", EUC_CN },
|
||||
{ "EUC_KR", EUC_KR },
|
||||
{ "EUC_TW", EUC_TW },
|
||||
{ "JOHAB", JOHAB },
|
||||
{ "UNICODE", UTF8 },
|
||||
{ "MULE_INTERNAL",MULE_INTERNAL },
|
||||
{ "LATIN1", LATIN1 },
|
||||
{ "LATIN2", LATIN2 },
|
||||
{ "LATIN3", LATIN3 },
|
||||
{ "LATIN4", LATIN4 },
|
||||
{ "LATIN5", LATIN5 },
|
||||
{ "LATIN6", LATIN6 },
|
||||
{ "LATIN7", LATIN7 },
|
||||
{ "LATIN8", LATIN8 },
|
||||
{ "LATIN9", LATIN9 },
|
||||
{ "LATIN10", LATIN10 },
|
||||
{ "WIN1256", WIN1256 },
|
||||
{ "TCVN", TCVN },
|
||||
{ "WIN874", WIN874 },
|
||||
{ "KOI8", KOI8R },
|
||||
{ "WIN", WIN1251 },
|
||||
{ "ALT", ALT },
|
||||
{ "ISO_8859_5", ISO_8859_5 },
|
||||
{ "ISO_8859_6", ISO_8859_6 },
|
||||
{ "ISO_8859_7", ISO_8859_7 },
|
||||
{ "ISO_8859_8", ISO_8859_8 },
|
||||
|
||||
while (!(mb_st == 0 && (s[i] == c || s[i] == 0)))
|
||||
|
||||
{ "SJIS", SJIS },
|
||||
{ "BIG5", BIG5 },
|
||||
{ "GBK", GBK },
|
||||
{ "UHC", UHC },
|
||||
{ "WIN1250", WIN1250 },
|
||||
{ "OTHER", OTHER }
|
||||
};
|
||||
|
||||
int
|
||||
pg_ismb(int characterset_code)
|
||||
{
|
||||
int i=0,MB_CHARACTERSET[]={EUC_JP,EUC_CN,EUC_KR,EUC_TW,UTF8,MULE_INTERNAL,SJIS,BIG5,GBK,UHC,JOHAB};
|
||||
|
||||
while (MB_CHARACTERSET[i] != characterset_code || OTHER != MB_CHARACTERSET[i] )
|
||||
{
|
||||
if (s[i] == 0)
|
||||
return (0);
|
||||
switch (multibyte_client_encoding)
|
||||
{
|
||||
case SJIS:
|
||||
{
|
||||
if (mb_st < 2 && s[i] > 0x80 && !(s[i] > 0x9f && s[i] < 0xe0))
|
||||
mb_st = 2;
|
||||
else if (mb_st == 2)
|
||||
mb_st = 1;
|
||||
else
|
||||
mb_st = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
/* Chinese Big5 Support. */
|
||||
case BIG5:
|
||||
{
|
||||
if (mb_st < 2 && s[i] > 0xA0)
|
||||
mb_st = 2;
|
||||
else if (mb_st == 2)
|
||||
mb_st = 1;
|
||||
else
|
||||
mb_st = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
mb_st = 0;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
qlog("i = %d\n", i);
|
||||
#endif
|
||||
return (char *) (s + i);
|
||||
return (MB_CHARACTERSET[i]);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
multibyte_init(void)
|
||||
int
|
||||
pg_CS_code(const unsigned char *characterset_string)
|
||||
{
|
||||
multibyte_status = 0;
|
||||
int i = 0, c;
|
||||
for(i = 0; CS_Table[i].code != OTHER; i++)
|
||||
{
|
||||
if (strstr(characterset_string,CS_Table[i].name))
|
||||
c = CS_Table[i].code;
|
||||
}
|
||||
return (c);
|
||||
}
|
||||
|
||||
|
||||
unsigned char *
|
||||
check_client_encoding(unsigned char *str)
|
||||
pg_CS_name(const int characterset_code)
|
||||
{
|
||||
if (strstr(str, "%27SJIS%27") ||
|
||||
strstr(str, "%27Shift_JIS%27") ||
|
||||
strstr(str, "'SJIS'") ||
|
||||
strstr(str, "'sjis'") ||
|
||||
strstr(str, "'Shift_JIS'"))
|
||||
int i = 0;
|
||||
for (i = 0; CS_Table[i].code != OTHER; i++)
|
||||
{
|
||||
multibyte_client_encoding = SJIS;
|
||||
return ("SJIS");
|
||||
}
|
||||
if (strstr(str, "%27BIG5%27") ||
|
||||
strstr(str, "%27Big5%27") ||
|
||||
strstr(str, "'BIG5'") ||
|
||||
strstr(str, "'big5'") ||
|
||||
strstr(str, "'Big5'"))
|
||||
{
|
||||
multibyte_client_encoding = BIG5;
|
||||
return ("BIG5");
|
||||
if (CS_Table[i].code == characterset_code)
|
||||
return CS_Table[i].name;
|
||||
}
|
||||
return ("OTHER");
|
||||
}
|
||||
|
||||
|
||||
/*--------
|
||||
* Multibyte Status Function.
|
||||
* Input char
|
||||
* Output 0 : 1 Byte Character.
|
||||
* 1 : MultibyteCharacter Last Byte.
|
||||
* N : MultibyteCharacter Fast or Middle Byte.
|
||||
*--------
|
||||
*/
|
||||
int
|
||||
multibyte_char_check(unsigned char s)
|
||||
pg_CS_stat(int stat,unsigned int character,int characterset_code)
|
||||
{
|
||||
switch (multibyte_client_encoding)
|
||||
if (character == 0)
|
||||
stat = 0;
|
||||
switch (characterset_code)
|
||||
{
|
||||
/* Japanese Shift-JIS(CP932) Support. */
|
||||
case SJIS:
|
||||
case UTF8:
|
||||
{
|
||||
if (multibyte_status < 2 && s > 0x80 && !(s > 0x9f && s < 0xE0))
|
||||
multibyte_status = 2;
|
||||
else if (multibyte_status == 2)
|
||||
multibyte_status = 1;
|
||||
if (stat < 2 &&
|
||||
character >= 0x80)
|
||||
{
|
||||
if (character >= 0xfc)
|
||||
stat = 6;
|
||||
else if (character >= 0xf8)
|
||||
stat = 5;
|
||||
else if (character >= 0xf0)
|
||||
stat = 4;
|
||||
else if (character >= 0xe0)
|
||||
stat = 3;
|
||||
else if (character >= 0xc0)
|
||||
stat = 2;
|
||||
}
|
||||
else if (stat > 2 &&
|
||||
character > 0x7f)
|
||||
stat--;
|
||||
else
|
||||
multibyte_status = 0;
|
||||
stat=0;
|
||||
}
|
||||
break;
|
||||
/* Shift-JIS Support. */
|
||||
case SJIS:
|
||||
{
|
||||
if (stat < 2 &&
|
||||
character > 0x80 &&
|
||||
!(character > 0x9f &&
|
||||
character < 0xe0))
|
||||
stat = 2;
|
||||
else if (stat == 2)
|
||||
stat = 1;
|
||||
else
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
/* Chinese Big5 Support. */
|
||||
case BIG5:
|
||||
{
|
||||
if (stat < 2 &&
|
||||
character > 0xA0)
|
||||
stat = 2;
|
||||
else if (stat == 2)
|
||||
stat = 1;
|
||||
else
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
/* Chinese GBK Support. */
|
||||
case GBK:
|
||||
{
|
||||
if (stat < 2 &&
|
||||
character > 0x7F)
|
||||
stat = 2;
|
||||
else if (stat == 2)
|
||||
stat = 1;
|
||||
else
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
/* Chinese Big5(CP950) Support. */
|
||||
case BIG5:
|
||||
/* Korian UHC Support. */
|
||||
case UHC:
|
||||
{
|
||||
if (multibyte_status < 2 && s > 0xA0)
|
||||
multibyte_status = 2;
|
||||
else if (multibyte_status == 2)
|
||||
multibyte_status = 1;
|
||||
if (stat < 2 &&
|
||||
character > 0x7F)
|
||||
stat = 2;
|
||||
else if (stat == 2)
|
||||
stat = 1;
|
||||
else
|
||||
multibyte_status = 0;
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
/* EUC_JP Support */
|
||||
case EUC_JP:
|
||||
{
|
||||
if (stat < 3 &&
|
||||
character == 0x8f) /* JIS X 0212 */
|
||||
stat = 3;
|
||||
else
|
||||
if (stat != 2 &&
|
||||
(character == 0x8e ||
|
||||
character > 0xa0)) /* Half Katakana HighByte & Kanji HighByte */
|
||||
stat = 2;
|
||||
else if (stat == 2)
|
||||
stat = 1;
|
||||
else
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
/* EUC_CN, EUC_KR, JOHAB Support */
|
||||
case EUC_CN:
|
||||
case EUC_KR:
|
||||
case JOHAB:
|
||||
{
|
||||
if (stat < 2 &&
|
||||
character > 0xa0)
|
||||
stat = 2;
|
||||
else if (stat == 2)
|
||||
stat = 1;
|
||||
else
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
case EUC_TW:
|
||||
{
|
||||
if (stat < 4 &&
|
||||
character == 0x8e)
|
||||
stat = 4;
|
||||
else if (stat == 4 &&
|
||||
character > 0xa0)
|
||||
stat = 3;
|
||||
else if (stat == 3 ||
|
||||
stat < 2 &&
|
||||
character > 0xa0)
|
||||
stat = 2;
|
||||
else if (stat == 2)
|
||||
stat = 1;
|
||||
else
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
multibyte_status = 0;
|
||||
{
|
||||
stat = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
qlog("multibyte_client_encoding = %d s = 0x%02X multibyte_stat = %d\n", multibyte_client_encoding, s, multibyte_status);
|
||||
#endif
|
||||
return (multibyte_status);
|
||||
return stat;
|
||||
}
|
||||
|
||||
|
||||
unsigned char *
|
||||
pg_mbschr(const unsigned char *string, unsigned int character)
|
||||
{
|
||||
int mb_st = 0;
|
||||
unsigned char *s;
|
||||
s = (unsigned char *) string;
|
||||
|
||||
for(;;)
|
||||
{
|
||||
mb_st = pg_CS_stat(mb_st, (unsigned char) *s,PG_CCSC);
|
||||
if (mb_st == 0 && (*s == character || *s == 0))
|
||||
break;
|
||||
else
|
||||
s++;
|
||||
}
|
||||
return (s);
|
||||
}
|
||||
|
||||
int
|
||||
pg_mbslen(const unsigned char *string)
|
||||
{
|
||||
unsigned char *s;
|
||||
int len, cs_stat;
|
||||
for (len = 0, cs_stat = 0, s = (unsigned char *) string; *s != 0; s++)
|
||||
{
|
||||
cs_stat = pg_CS_stat(cs_stat,(unsigned int) *s, PG_CCSC);
|
||||
if (cs_stat < 2)
|
||||
len++;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
unsigned char *
|
||||
pg_mbsinc(const unsigned char *current )
|
||||
{
|
||||
int mb_stat = 0;
|
||||
if (*current != 0)
|
||||
{
|
||||
mb_stat = (int) pg_CS_stat(mb_stat, *current, PG_CCSC);
|
||||
if (mb_stat == 0)
|
||||
mb_stat = 1;
|
||||
return ((unsigned char *) current + mb_stat);
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
CC_lookup_characterset(ConnectionClass *self)
|
||||
{
|
||||
HSTMT hstmt;
|
||||
StatementClass *stmt;
|
||||
RETCODE result;
|
||||
static char *func = "CC_lookup_characterset";
|
||||
|
||||
mylog("%s: entering...\n", func);
|
||||
PG_SCSS = malloc(MAX_CHARACTERSET_NAME);
|
||||
PG_CCSS = malloc(MAX_CHARACTERSET_NAME);
|
||||
|
||||
result = PGAPI_AllocStmt(self, &hstmt);
|
||||
if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
|
||||
return;
|
||||
stmt = (StatementClass *) hstmt;
|
||||
|
||||
result = PGAPI_ExecDirect(hstmt, "Show Client_Encoding", SQL_NTS);
|
||||
if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
|
||||
{
|
||||
PGAPI_FreeStmt(hstmt, SQL_DROP);
|
||||
return;
|
||||
}
|
||||
result = PGAPI_AllocStmt(self, &hstmt);
|
||||
if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
|
||||
return;
|
||||
stmt = (StatementClass *) hstmt;
|
||||
|
||||
result = PGAPI_ExecDirect(hstmt, "Show Server_Encoding", SQL_NTS);
|
||||
if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
|
||||
{
|
||||
PGAPI_FreeStmt(hstmt, SQL_DROP);
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(PG_SCSS , pg_CS_name(PG_SCSC = pg_CS_code(PG_SCSS)));
|
||||
strcpy(PG_CCSS , pg_CS_name(PG_CCSC = pg_CS_code(PG_CCSS)));
|
||||
|
||||
qlog(" [ Server encoding = '%s' (code = %d), Client encoding = '%s' (code = %d) ]\n", PG_SCSS, PG_SCSC, PG_CCSS, PG_CCSC);
|
||||
}
|
||||
|
|
|
@ -10,30 +10,78 @@
|
|||
#define EUC_JP 1 /* EUC for Japanese */
|
||||
#define EUC_CN 2 /* EUC for Chinese */
|
||||
#define EUC_KR 3 /* EUC for Korean */
|
||||
#define EUC_TW 4 /* EUC for Taiwan */
|
||||
#define UNICODE 5 /* Unicode UTF-8 */
|
||||
#define MULE_INTERNAL 6 /* Mule internal code */
|
||||
#define LATIN1 7 /* ISO-8859 Latin 1 */
|
||||
#define LATIN2 8 /* ISO-8859 Latin 2 */
|
||||
#define LATIN3 9 /* ISO-8859 Latin 3 */
|
||||
#define LATIN4 10 /* ISO-8859 Latin 4 */
|
||||
#define LATIN5 11 /* ISO-8859 Latin 5 */
|
||||
#define LATIN6 12 /* ISO-8859 Latin 6 */
|
||||
#define LATIN7 13 /* ISO-8859 Latin 7 */
|
||||
#define LATIN8 14 /* ISO-8859 Latin 8 */
|
||||
#define LATIN9 15 /* ISO-8859 Latin 9 */
|
||||
#define KOI8 16 /* KOI8-R/U */
|
||||
#define WIN 17 /* windows-1251 */
|
||||
#define ALT 18 /* Alternativny Variant (MS-DOS CP866) */
|
||||
#define SJIS 32 /* Shift JIS */
|
||||
#define BIG5 33 /* Big5 */
|
||||
#define WIN1250 34 /* windows-1250 */
|
||||
#define EUC_TW 4 /* EUC for Taiwan */
|
||||
#define JOHAB 5
|
||||
#define UTF8 6 /* Unicode UTF-8 */
|
||||
#define MULE_INTERNAL 7 /* Mule internal code */
|
||||
#define LATIN1 8 /* ISO-8859 Latin 1 */
|
||||
#define LATIN2 9 /* ISO-8859 Latin 2 */
|
||||
#define LATIN3 10 /* ISO-8859 Latin 3 */
|
||||
#define LATIN4 11 /* ISO-8859 Latin 4 */
|
||||
#define LATIN5 12 /* ISO-8859 Latin 5 */
|
||||
#define LATIN6 13 /* ISO-8859 Latin 6 */
|
||||
#define LATIN7 14 /* ISO-8859 Latin 7 */
|
||||
#define LATIN8 15 /* ISO-8859 Latin 8 */
|
||||
#define LATIN9 16 /* ISO-8859 Latin 9 */
|
||||
#define LATIN10 17 /* ISO-8859 Latin 10 */
|
||||
#define WIN1256 18 /* Arabic Windows */
|
||||
#define TCVN 19 /* Vietnamese Windows */
|
||||
#define WIN874 20 /* Thai Windows */
|
||||
#define KOI8R 21 /* KOI8-R/U */
|
||||
#define WIN1251 22 /* windows-1251 */
|
||||
#define ALT 23 /* Alternativny Variant (MS-DOS CP866) */
|
||||
#define ISO_8859_5 24 /* ISO-8859-5 */
|
||||
#define ISO_8859_6 25 /* ISO-8859-6 */
|
||||
#define ISO_8859_7 26 /* ISO-8859-7 */
|
||||
#define ISO_8859_8 27 /* ISO-8859-8 */
|
||||
|
||||
#define SJIS 28 /* Shift JIS */
|
||||
#define BIG5 29 /* Big5 */
|
||||
#define GBK 30 /* GBK */
|
||||
#define UHC 31 /* UHC */
|
||||
#define WIN1250 32 /* windows-1250 */
|
||||
#define OTHER -1
|
||||
|
||||
#define MAX_CHARACTERSET_NAME 24
|
||||
#define MAX_CHARACTER_LEN 6
|
||||
|
||||
|
||||
extern int multibyte_client_encoding; /* Multibyte client encoding. */
|
||||
extern int multibyte_status; /* Multibyte charcter status. */
|
||||
|
||||
void multibyte_init(void);
|
||||
unsigned char *check_client_encoding(unsigned char *str);
|
||||
int multibyte_char_check(unsigned char s);
|
||||
unsigned char *multibyte_strchr(const unsigned char *s, unsigned char c);
|
||||
/* OLD Type */
|
||||
// extern int multibyte_client_encoding; /* Multibyte client encoding. */
|
||||
// extern int multibyte_status; /* Multibyte charcter status. */
|
||||
//
|
||||
// void multibyte_init(void);
|
||||
// unsigned char *check_client_encoding(unsigned char *sql_string);
|
||||
// int multibyte_char_check(unsigned char s);
|
||||
// unsigned char *multibyte_strchr(const unsigned char *string, unsigned int c);
|
||||
|
||||
/* New Type */
|
||||
|
||||
extern int PG_CCST; /* Client Character StaTus */
|
||||
|
||||
extern int PG_SCSC; /* Server Character Set (Code) */
|
||||
extern int PG_CCSC; /* Client Character Set (Code) */
|
||||
extern unsigned char *PG_SCSS; /* Server Character Set (String) */
|
||||
extern unsigned char *PG_CCSS; /* Client Character Set (String) */
|
||||
|
||||
extern void CC_lookup_characterset(ConnectionClass *self);
|
||||
|
||||
extern int pg_CS_stat(int stat,unsigned int charcter,int characterset_code);
|
||||
extern int pg_CS_code(const unsigned char *stat_string);
|
||||
extern unsigned char *pg_CS_name(const int code);
|
||||
|
||||
typedef struct pg_CS
|
||||
{
|
||||
unsigned char *name;
|
||||
int code;
|
||||
}pg_CS;
|
||||
extern pg_CS CS_Table[];
|
||||
|
||||
extern int pg_mbslen(const unsigned char *string);
|
||||
extern unsigned char *pg_mbschr(const unsigned char *string, unsigned int character);
|
||||
extern unsigned char *pg_mbsinc( const unsigned char *current );
|
||||
|
||||
/* Old Type Compatible */
|
||||
#define multibyte_init() (PG_CCST = 0)
|
||||
#define multibyte_char_check(X) pg_CS_stat(PG_CCST, (unsigned int) X, PG_CCSC)
|
||||
#define multibyte_strchr(X,Y) pg_mbschr(X,Y)
|
||||
#define check_client_encoding(X) pg_CS_name(PG_CCSC = pg_CS_code(X))
|
||||
|
|
Loading…
Reference in a new issue