Prepare for 7.0 release

This commit is contained in:
Tatsuo Ishii 2000-03-23 02:04:07 +00:00
parent 1afaa2557a
commit 5ca8eb9216
1 changed files with 331 additions and 100 deletions

View File

@ -1,28 +1,28 @@
postgresql 6.5.1 multi-byte (MB) support README 1999/7/11 $B:n@.(B
PostgreSQL 7.0 multi-byte (MB) support README 2000/3/22 $B:n@.(B
$B@P0fC#IW(B
t-ishii@sra.co.jp
ishii@postgresql.org
http://www.sra.co.jp/people/t-ishii/PostgreSQL/
$B$O$8$a$K!'(B
$B"#$O$8$a$K(B
PostgreSQL $B$K$*$1$k%^%k%A%P%$%H%5%]!<%H$O0J2<$N$h$&$JFCD'$r;}$C$F$$$^$9!#(B
1.$B%^%k%A%P%$%HJ8;z$H$7$F!"F|K\8l!"Cf9q8l$J$I$N3F9q$N(B EUC$B!"(BUnicode$B!"(B
mule internal code, ISO-8859-* $B$,%G!<%?%Y!<%9:n@.;~$KA*Br2DG=!#(B
$B%G!<%?%Y!<%9$K$O$3$N%3!<%I$N$^$^3JG<$5$l$^$9!#(B
2.$B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B($B$?$@$7!"(BOS $B$,%^%k%A%P%$%H(B
$B$N%U%!%$%kL>$r5v$7$F$$$k$3$H$,I,MW(B)
3.$B%+%i%`L>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
4.$B%G!<%?$=$N$b$N$K$b%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
5.$B%^%k%A%P%$%HJ8;z$N@55,I=8=8!:w$,;HMQ2DG=(B
6.$B%^%k%A%P%$%HJ8;z$N(B LIKE $B8!:w$,;HMQ2DG=(B
7.character_length(), position(), substring() $B$G$N%^%k%A%P%$%H(B
$B%5%]!<%H(B
8.$B4D6-JQ?t(B PGCLIENTENCODING $B$K$h$j!"%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0(B
$B$,%P%C%/%(%s%IB&$H0[$k>l9g$K!"<+F0E*$K%3!<%IJQ49$r9T$J$$$^$9!#(B
1. $B%^%k%A%P%$%HJ8;z$H$7$F!"F|K\8l!"Cf9q8l$J$I$N3F9q$N(B EUC$B!"(BUnicode$B!"(B
mule internal code, ISO-8859-* $B$,%G!<%?%Y!<%9:n@.;~$KA*Br2DG=!#(B
$B%G!<%?%Y!<%9$K$O$3$N%3!<%I$N$^$^3JG<$5$l$^$9!#(B
2. $B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B($B$?$@$7!"(BOS $B$,%^%k%A%P%$%H(B
$B$N%U%!%$%kL>$r5v$7$F$$$k$3$H$,I,MW(B)
3. $B%+%i%`L>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
4. $B%G!<%?$=$N$b$N$K$b%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
5. $B%^%k%A%P%$%HJ8;z$N@55,I=8=8!:w$,;HMQ2DG=(B
6. $B%^%k%A%P%$%HJ8;z$N(B LIKE $B8!:w$,;HMQ2DG=(B
7. character_length(), position(), substring() $B$G$N%^%k%A%P%$%H(B
$B%5%]!<%H(B
8. $B%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$,%P%C%/%(%s%IB&$H0[$k>l9g$K!"(B
$B<+F0E*$K%3!<%IJQ49$r9T$J$$$^$9!#(B
$B%$%s%9%H!<%k!'(B
$B"#%$%s%9%H!<%k(B
$B%G%U%)%k%H$N%3%s%U%#%.%e%l!<%7%g%s$G$O(B PostgreSQL $B$O%^%k%A%P%$%H$r(B
$B%5%]!<%H$7$F$$$^$;$s!#%^%k%A%P%$%H%5%]!<%H$rM-8z$K$9$kJ}K!$r@bL@$7$^$9!#(B
@ -30,7 +30,7 @@ postgresql 6.5.1 multi-byte (MB) support README 1999/7/11 $B:n@.(B
$B$?$H$($PF|K\8l(B EUC $B$r<g$KMxMQ$9$k>l9g$O!"(Bconfigure $B5/F0;~$K0J2<$N$h(B
$B$&$K;XDj$7$^$9!#(B
% configure --with-mb=EUC_JP
% ./configure --enable-multibyte=EUC_JP
$B%(%s%3!<%G%#%s%0$H$7$F$O(B EUC_JP $B$NB>!"0J2<$,;XDj$G$-$^$9!#(B
@ -55,10 +55,13 @@ postgresql 6.5.1 multi-byte (MB) support README 1999/7/11 $B:n@.(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
$B$$>l9g$O(B UNICODE $B$b$7$/$O(B MULE_INTERNAL $B$H$J$k$G$7$g$&!#(B
$B%(%s%3!<%G%#%s%0$r>JN,$7$?>l9g!"%G%U%)%k%HCM$H$7$F(B SQL_ASCII $B$,:NMQ(B
$B$5$l$^$9!#(B
$B$J$*!"(Bconfigure $B$GA*Br$7$?%(%s%3!<%G%#%s%0$O!"$"$/$^$G(B initdb $B$N$?$a$N(B
$B%G%U%)%k%HCMDxEY$N0UL#$7$+$"$j$^$;$s(B(initdb $B$G$O0z?t$G%(%s%3!<%G%#%s%0$,(B
$B;XDj$G$-$^$9(B)$B!#$7$?$,$C$F!"0[$J$k%(%s%3!<%G%#%s%0$r;HMQ$9$k$?$a$K(B
$B$o$6$o$6(BPostgreSQL $B$r%j%3%s%Q%$%k$9$kI,MW$"$j$^$;$s!#(B
$B$o$6$o$6(B PostgreSQL $B$r%j%3%s%Q%$%k$9$kI,MW$"$j$^$;$s!#(B
initdb $B$O(B shell script $B$J$N$G!"%G%U%)%k%H$N%(%s%3!<%G%#%s%0$O(B script $B$r(B
$BE,Ev$J%(%G%#%?$GJT=8$9$k$3$H$K$h$j4JC1$KJQ99$G$-$^$9!#(Binitdb $B$N(B 42$B9TL\(B
@ -76,26 +79,27 @@ postgresql 6.5.1 multi-byte (MB) support README 1999/7/11 $B:n@.(B
$B$3$H$rI=$7$^$9!#7h$7$F4A;z$dJ?2>L>$J$I(B "a" $B0J30$r$9$Y$FI=$9$o$1$G$O(B
$B$J$$$3$H$KCm0U$7$F2<$5$$!#(B
$B%$%s%9%H!<%k$OIaDL$K9T$J$$$^$9!#%$%s%9%H!<%k$N>\:Y$O(B INSTALL $B$H$$$&(B
$B%F%-%9%H%U%!%$%k$r8fMw2<$5$$!#$^$?!"(B
$B%$%s%9%H!<%k$O(B --enable-multibye $B$J$7$N>l9g$HF1MM$K9T$J$$$^$9!#%$%s(B
$B%9%H!<%k$N>\:Y$O(B INSTALL $B$H$$$&%F%-%9%H%U%!%$%k$r8fMw2<$5$$!#$^$?!"(B
http://www.sra.co.jp/people/t-ishii/PostgreSQL/ $B$G$b4JC1$J%$%s%9%H!<(B
$B%kJ}K!$r>R2p$7$F$$$^$9!#(B
initdb/createdb/create database $B$K$*$1$k%(%s%3!<%G%#%s%0$N;XDj$K$D$$$F(B
$B"#(Binitdb/createdb/create database $B$K$*$1$k%(%s%3!<%G%#%s%0$N;XDj$K$D$$$F(B
initdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#(B
-e $B%(%s%3!<%G%#%s%0(B
-pgencoding $B%(%s%3!<%G%#%s%0(B
-E $B%(%s%3!<%G%#%s%0(B
--encoding=$B%(%s%3!<%G%#%s%0(B
$B$3$3$G;XDj$7$?%(%s%3!<%G%#%s%0$O!"0J8e(B createdb/create database $B$G%((B
$B%s%3!<%G%#%s%0$r>JN,$7$?>l9g$K@_Dj$5$l$k%(%s%3!<%G%#%s%0$K$J$j$^$9!#(B
-e $B$^$?$O(B -pgencoding $B%*%W%7%g%s$r>JN,$7$?>l9g$O!"(Bconfigure $B$G;XDj$7(B
-E $B$^$?$O(B --encoding $B%*%W%7%g%s$r>JN,$7$?>l9g$O!"(Bconfigure $B$G;XDj$7(B
$B$?%(%s%3!<%G%#%s%0$,:NMQ$5$l$^$9!#(B
createdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#(B
-E $B%(%s%3!<%G%#%s%0(B
--encoding=$B%(%s%3!<%G%#%s%0(B
create database $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#(B
@ -105,112 +109,200 @@ initdb/createdb/create database $B$K$*$1$k%(%s%3!<%G%#%s%0$N;XDj$K$D$$$F(B
CREATE DATABASE dbanme WITH LOCATION = 'path' ENCODING = '$B%(%s%3!<%G%#%s%0(B';
createdb/create database $B$O!"%(%s%3!<%G%#%s%0;XDj$r>JN,$7$?>l9g$O!"(Binitdb
createdb/create database $B$G$O!"%(%s%3!<%G%#%s%0;XDj$r>JN,$7$?>l9g$O!"(Binitdb
$B$G;XDj$7$?%(%s%3!<%G%#%s%0$,:NMQ$5$l$^$9!#$3$l$O!"(Binitdb $B$,:n@.$9$k(B
$B%F%s%W%l!<%H%G!<%?%Y!<%9(B(template1)$B$N(B encoding $B%"%H%j%S%e!<%H$r7Q>5(B
$B$9$k$+$i$G$9!#(B
$B%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$O!"(Bpsql $B$N(B \l $B$d!"(BSQL $BJ8$N(B
select * from pg_database $B$G;2>H$G$-$^$9!#(B
$B%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$O!"(Bpsql -l$B!"(Bpsql $B$N(B \l $B$G;2>H$G$-$^$9!#(B
datname |datdba|encoding|datpath
-------------+------+--------+-------------
template1 | 1739| 1|template1
postgres | 1739| 0|postgres
euc_jp | 1739| 1|euc_jp
euc_kr | 1739| 3|euc_kr
euc_cn | 1739| 2|euc_cn
unicode | 1739| 5|unicode
mule_internal| 1739| 6|mule_internal
$ psql -l
List of databases
Database | 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)
encoding $B%+%i%`$N?tCM$,$=$N%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$rI=$7$^$9(B
($B%(%s%3!<%G%#%s%0(BID)$B!#%(%s%3!<%G%#%s%0(B ID $B$r%(%s%3!<%G%#%s%0L>$KJQ49(B
$B$9$k$K$O!"(Bpg_encoding $B%3%^%s%I$r;HMQ$7$^$9!#$?$H$($P!"(B
$B"#%U%m%s%H%(%s%I$H%P%C%/%(%s%I$N<+F0%(%s%3!<%G%#%s%0JQ49$K$D$$$F(B
$ pg_encoding 1
EUC_JP
$B%P%C%/%(%s%I(B($B%G!<%?%Y!<%9(B)$B$H(B psql $B$J$I$N%U%m%s%H%(%s%I$N%(%s%3!<%G%#(B
$B%s%0$O0lCW$7$F$$$k$N$,86B'$G$9$,!"$$$/$D$+$N%(%s%3!<%G%#%s%0$K$D$$$F(B
$B$O%P%C%/%(%s%I$H%U%m%s%H%(%s%I$N4V$G0[$J$k$b$N$r;HMQ$9$k$3$H$,$G$-$^(B
$B$9!#$3$N>l9g!"<+F0E*$K%P%C%/%(%s%I$G%(%s%3!<%G%#%s%0JQ49$,9T$o$l$^$9!#(B
$B$N$h$&$K$J$j$^$9!#$J$*!"(Bpg_encoding $B$O?t;z0J30$,M?$($i$l$k$H%(%s%3!<(B
$B%G%#%s%0L>$H8+Jo$7$F%(%s%3!<%G%#%s%0(BID$B$rJV$7$^$9!#(B
$B%P%C%/%(%s%I$N%(%s%3!<%G%#%s%0(B $B5vMF$5$l$k%U%m%s%H%(%s%I$N(B
$B%(%s%3!<%G%#%s%0(B
----------------------------------------------------------------
EUC_JP EUC_JP, SJIS
EUC_TW EUC_TW, BIG5
LATIN2 LATIN2, WIN1250
LATIN5 LATIN5, WIN, ALT
MULE_INTERNAL EUC_JP, SJIS, EUC_KR, EUC_CN,
EUC_TW, BIG5, LATIN1$B$+$i(B5,
WIN, ALT, WIN1250
$ pg_encoding EUC_JP
1
$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
$B$r%P%C%/%(%s%I$KEA$($kI,MW$,$"$j$^$9!#$=$N$?$a$NJ}K!$,$$$/$D$+$"$j$^(B
$B$9!#(B
$B4D6-JQ?t(B PGCLIENTENCODING $B$K$D$$$F!'(B
o psql $B$N(B \encoding $B%3%^%s%I$r;H$&J}K!(B
$B4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$J$$>l9g!"(Blibpq $B$O%;%C%7%g%s(B
$B3+;O;~$K%P%C%/%(%s%IB&$K%(%s%3!<%G%#%s%0$rLd$$9g$o$;!"$=$NCM$r4D6-JQ?t(B
PGCLIENTENCODING $B$K@_Dj$7$^$9!#(B
psql$B$G$O!"(B\encoding$B%3%^%s%I$r;H$C$FF0E*$K%U%m%s%H%(%s%IB&$NJ8;z%3!<(B
$B%I$r@ZBX$($k$3$H$,$G$-$^$9!#Nc(B:
$B4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k>l9g$O$=$NCM$,M%@h$5$l!"%P%C(B
$B%/%(%s%IB&$H0[$J$k%(%s%3!<%G%#%s%0$,;HMQ$G$-$^$9!#@_Dj2DG=$J%(%s%3!<(B
$B%G%#%s%0$O!">e5-$K2C$(!"(BSJIS ($B%7%U%H(BJIS)$B!"(BBiG5 $B$=$l$K(B WIN1250
(Windows$BMQ$N%A%'%38l(B)$B$,;XDj$G$-$^$9!#(B
\encoding SJIS
$B$A$J$_$K!"(BSJIS $B$O(B JISX0201 $B$N(B 1$B%P%$%H%+%J!"$$$o$f$k!VH>3Q%+%?(B
$B%+%J!W$b%5%]!<%H$7$F$$$^$9(B($B7h$7$F!VH>3Q%+%?%+%J!W$N;HMQ$r$*4+(B
$B$a$7$F$$$k$o$1$8$c$J$$$G$9$,(B)$B!#(B
o libpq $B$N4X?t(B PQsetClientEncoding $B$r;H$&J}K!(B
$B$?$H$($P!"(BMB=EUC_JP $B$G(B PostgeSQL $B$,%$%s%9%H!<%k$5$l$F$$$k>l9g!"(B
postmaster $B$rN)$A>e$2$k$H$-$K4D6-JQ?t(B PGCLIENTENCODING $B$K(B SJIS $B$r@_(B
$BDj$9$k$H!"%U%m%s%H%(%s%I$O(B SJIS $B%3!<%I$G(B PostgreSQL $B$K%"%/%;%9$G$-$k$h(B
$B$&$K$J$j$^$9!#$?$@$7!"%G!<%?%Y!<%9$K3JG<$5$l$k%G!<%?<+BN$O$"$/$^$G(B
MB $B$G;XDj$7$?(B EUC_JP $B$N$^$^$G$9!#(B
7.0 $B$+$i?7$7$$(B libpq $B4X?t(B PQsetClientEncoding $B$,DI2C$5$l$F$$$^$9!#(B
$B%U%m%s%H%(%s%IB&$G%;%C%7%g%sKh$K%(%s%3!<%G%#%s%0$rJQ$($k$3$H$b$G$-$^(B
$B$9!#%;%C%7%g%s3+;O;~$K4D6-JQ?t(B PGCLIENTENCODING $B$,%;%C%H$5$l$F$$$k$H!"(B
$B$=$l$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$K:NMQ$5$l$^$9!#$3$N5!G=$rMx(B
$BMQ$9$k$H!"$"$k%f!<%6$O(B EUC_JP $B$G!"JL$J%f!<%6$O(B SJIS $B$GF1$8%G!<%?%Y!<(B
$B%9$K%"%/%;%9$9$k$H$$$&$h$&$J$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B
PQsetClientEncoding(PGconn *conn, const char *encoding)
MB=MULE_INTERNAL $B$G(B PostgreSQL $B$r%$%s%9%H!<%k$7$F$*$/$H!"IaCJ$O(B
EUC_JP $B$G%U%m%s%H%(%s%I$rMxMQ$7!"J#?t$NJ8;z=89g$r:.:_$5$;$k$H$-$@$1%/(B
$B%i%$%"%s%H$r(B MULE_INTERNAL $B$K@_Dj$9$k$J$I$N;H$$J,$1$,$G$-$FJXMx$G$9!#(B
$B$?$@!"0lHL$K(B EUC_JP $B$KHf$Y!"(BMULE_INTERNAL $B$K$h$k%G!<%?I=8=$O$d$d%9%Z!<(B
$B%9$r6t$&$N$G!"$=$N$X$s$O9MN8$7$F$*$/I,MW$,$"$j$^$9!#$?$H$($P!"(B2$B%P%$(B
$B%H$GI=8=$G$-$k4A;z$O(B MULE_INTERNAL $B$G$O(B 3$B%P%$%H$rMW$7$^$9!#(B
$B$3$N4X?t$r;H$($P!"%3%M%/%7%g%sKh$K%(%s%3!<%G%#%s%0$r@ZBX$($k$3$H$,$G(B
$B$-$^$9!#8=:_$N%(%s%3!<%G%#%s%0$NLd$$9g$o$;$O(B
$BCm0U$7$F$*$/I,MW$,$"$k$N$O!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$H%U%m%s(B
$B%H%(%s%IB&$N%(%s%3!<%G%#%s%0$,$$$D$bAj8_JQ49$G$-$k$H$O8B$i$J$$$3$H$G(B
$B$9!#6KC<$JOC!"%P%C%/%(%s%IB&$,(B EUC_JP $B$J$N$K!"%U%m%s%H%(%s%IB&$,(B
EUC_KR $B$@$C$?$i$I$&$J$k$G$7$g$&!#(B
$B$3$N>l9g(B PostgreSQL $B$OJQ49$G$-$J$$%3!<%I$r(B 16$B?JI=8=$KJQ49$7$F$7$^$$(B
$B$^$9!#$?$H$($P!"(B"(bdae)" $B$N$h$&$K!#$J$*!"$3$N(B 16$B?JI=8=$O(B mule
internalcode $B$N%3!<%I$G$"$k$3$H$KCm0U$7$F2<$5$$!#$3$l$O!"D>@\%U%m%s(B
$B%H%(%s%I(B <--> $B%P%C%/%(%s%I$N%(%s%3!<%G%#%s%0$rJQ49$9$k$N$G$O$J$/!"0l(B
$BEYFbItI=8=$G$"$k(B mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!#(B
int PQclientEncoding(const PGconn *conn)
$B%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$N@_Dj$O!"(B"set client_encoding" $B%3(B
$B%^%s%I$G$b2DG=$G$9!#$?$H$($P!"(B
$B$G$9!#(B
o $B4D6-JQ?t(B PGCLIENTENCODING $B$r;H$&J}K!(B
$B>e5-J}K!$GBP1~$G$-$J$$>l9g!"$"$k$$$O%U%m%s%H%(%s%I$G;H$o$l$k%(%s%3!<(B
$B%G%#%s%0$,$"$i$+$8$aJ,$+$C$F$$$k>l9g$O4D6-JQ?t(B PGCLIENTENCODING $B$r;H(B
$B$&$N$,JXMx$G$9!#$3$NJ}K!$O99$KBg$-$/(B2$B$D$KJ,$+$l$^$9!#(B
(1) postmaster $B5/F0;~$K4D6-JQ?t$r@_Dj$9$kJ}K!(B
$B$9$Y$F$N%/%i%$%"%s%H(B($B%U%m%s%H%(%s%I(B)$B$,F1$8%(%s%3!<%G%#%s%0$r;H$&$N$,(B
$BJ,$+$C$F$$$k>l9g!"(Bpostmaster $B5/F0;~$K4D6-JQ?t(B PGCLIENTENCODING $B$r@_(B
$BDj$7$^$9!#$3$N>l9g$G$b!"(B(2)$B$NJ}K!$G8D!9$N%/%i%$%"%s%HKh$KJL$N%(%s%3!<(B
$B%G%#%s%0$r@_Dj$9$k$3$H$,$G$-$^$9!#(B
(2) $B%/%i%$%"%s%H!"%U%m%s%H%(%s%IKh$K%(%s%3!<%G%#%s%0$r@_Dj$7$?$$>l9g(B
$B$3$N>l9g$O$=$N%U%m%s%H%(%s%I(B($B$?$H$($P(B psql)$B$r5/F0$9$kA0$K4D6-JQ?t(B
PGCLIENTENCODING $B$r@_Dj$7$^$9!#(B
o set client_encoding $B%3%^%s%I$r;H$&J}K!(B
$B>e5-(B(2)$B$NJ}K!$O!"(Blibpq $B$r;H$C$F$$$J$$(B JDBC $B$d(B ODBC $B$G$O;HMQ$G$-$^$;(B
$B$s!#$3$N>l9g!"(BSQL$B%3%^%s%I$G$"$k(B set client_encoding $B%3%^%s%I$rMxMQ$7(B
$B$^$9!#Nc!'(B
set client_encoding to 'sjis';
$B$G%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$r(B SJIS $B$K@_Dj$G$-$^$9!#<B:]!"%/(B
$B%i%$%"%s%H$,%P%C%/%(%s%I$K@\B3$9$k:]$K$O(B libpq $B$NCf$G(B "set
client_encoding" $B%3%^%s%I$rH/9T$7$F$$$^$9!#%;%C%7%g%sCf$K(B
set client_encoding" $B%3%^%s%I$rH/9T$9$l$P!"F0E*$K%(%s%3!<%G%#%s%0$N@ZBX$((B
$B$,$G$-$^$9$,!"$=$N:]$K$O4D6-JQ?t(B PGCLIENTENCODING $B$rF1;~$K%U%m%s%H%((B
$B%s%I%"%W%j%1!<%7%g%s$NCf$G@_Dj$7D>$9I,MW$,$"$j$^$9!#(B(psql $B$K$O8=:_$3(B
$B$N5!G=$,$J$$$?$a!";v<B>eF0E*$K%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$r@_(B
$BDj$9$k$3$H$,$G$-$^$;$s!#(B)
$B"#8=:_@_Dj$5$l$F$$$k%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$rD4$Y$k(B
$B8=:_@_Dj$5$l$F$$$k%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$O(B
$B8=:_@_Dj$5$l$F$$$k%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$O(B
show client_encoding;
$B$G;2>H$G$-$^$9!#$^$?!"(B
$B$G;2>H$G$-$^$9!#(B
$B"#%G%U%)%k%H$N%(%s%3!<%G%#%s%0$X$NI|5"(B
SQL$B%3%^%s%I(B:
reset client_encoding;
$B$O!"%G%U%)%k%H$N%U%m%s%H%(%s%I%(%s%3!<%G%#%s%0@_Dj$KI|5"$5$;$^$9!#(B
postmaster$B$rN)$A>e$2$k$H$-$K4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$(B
$B$k$H$=$N%(%s%3!<%G%#%s%0$K!"$=$&$G$J$1$l$P%3%s%Q%$%k;~$K;XDj$7$?%P%C(B
$B%/%(%s%IB&$N%(%s%3!<%G%#%s%0$HF1$8$K$J$j$^$9!#(B
$B$k$H$=$N%(%s%3!<%G%#%s%0$K!"$=$&$G$J$1$l$P%G!<%?%Y!<%9$N%(%s%3!<%G%#(B
$B%s%0$HF1$8$K$J$j$^$9!#(B
$B"#%(%s%3!<%G%#%s%0JQ49ITG=$N>l9g$N=hM}(B
$B@)8B;v9`!'(B
$B%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$H%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0(B
$B$,$$$D$bAj8_JQ49$G$-$k$H$O8B$j$^$;$s!#6KC<$JOC!"%P%C%/%(%s%IB&$,(B
EUC_JP $B$J$N$K!"%U%m%s%H%(%s%IB&$,(B EUC_KR $B$@$C$?$i$I$&$J$k$G$7$g$&!#(B
$B$3$N>l9g(B PostgreSQL $B$OJQ49$G$-$J$$%3!<%I$r(B 16$B?JI=8=$KJQ49$7$^$9!#(B
$B$?$H$($P!"(B"(bdae)" $B$N$h$&$K!#$J$*!"$3$N(B 16$B?JI=8=$O(B mule
internal code $B$N%3!<%I$G$"$k$3$H$KCm0U$7$F2<$5$$!#$3$l$O!"D>@\%U%m%s(B
$B%H%(%s%I(B <--> $B%P%C%/%(%s%I$N%(%s%3!<%G%#%s%0$rJQ49$9$k$N$G$O$J$/!"0l(B
$BEYFbItI=8=$G$"$k(B mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!#(B
SJIS $B$r;HMQ$9$k>l9g!"(BPostgreSQL $B$N%U%m%s%H%(%s%I$G$^$H$b$KBP1~$7$F$$$k(B
$B$N$O(B psql $B$@$1$G$9!#(BTcl/Tk$B!"$=$N$[$+$OBP1~$7$F$^$;$s!#(B
$B"#(BSJIS$B%f!<%6Dj5AJ8;z$X$NBP1~(B
7.0 $B$+$i(B SJIS$B%f!<%6Dj5AJ8;z(B (UDC) $B$KBP1~$7$F$$$^$9!#(BUDC $B$r$I$&07$&$+(B
$B$H8@$&$3$H$K$D$$$FCf>r$5$s(B(nak@email.com)$B$+$iLdBjDs5/$H>\:Y$J2r@b$r(B
$BD:$-$^$7$?$N$G!";29M$N$?$a$K$3$N%I%-%e%a%s%H$N:G8e$KIU$1$F$*$-$^$9!#(B
$B$^$?!"$3$NLdBj$K$D$$$F$O!"(BPostgreSQL$BF|K\8l%a!<%j%s%0%j%9%H$N(B
[pgsql-jp 12288] (1999/12/17$BIU(B)$B$H(B [pgsql-jp 12486] (2000/1/5$BIU(B) $B$+$i(B
$B;O$^$k%9%l%C%I$G5DO@$r8+$k$3$H$,$G$-$^$9(B($B%a!<%k$N%"!<%+%$%V$O(B
http://www.sra.co.jp/people/t-ishii/PostgreSQL/ $B$G;2>H$G$-$^$9(B)$B!#(B
$B$3$3$G$O!"$=$l$i$N5DO@$r$U$^$(!"4JC1$K2r@b$7$^$9!#(B
PostgreSQL$B$G$O!"F|K\8l$r;HMQ$9$k:]$K%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0(B
$B$r(B EUC_JP $B$^$?$O(B MULE_INTERNAL or Unicode $B$K$9$kI,MW$,$"$j$^$9!#(B
MULE_INTERNAL $B$O(B EUC_JP $B$KJ8;z=89g$rI=$9%3!<%I$rIU$1$?$b$N$J$N$G!"K\(B
$B<AE*$KF1$8$G$9!#$^$?!"(BUnicode <---> SJIS $BJQ49$O8=:_$N$H$3$m%5%]!<%H(B
$B$5$l$F$$$^$;$s$N$GL5;k$7$^$9!#$7$?$,$C$F!"$3$3$G$O(B EUC_JP $B$H(B SJIS $B$N(B
$BAj8_JQ49$N$_$r9M$($^$9!#(B
$BM=HwCN<1(B
$B0l8}$K(B EUC_JP $B$H$$$C$F$b!"<B:]$K$OCf?H$OJ#?t$NJ8;z=89g$+$i@.$jN)$C$F(B
$B$$$^$9!#(B
G0: JIS ROMAN (ASCII $B$H$[$\F1$8(B)
G1: JIS X 0208 (JIS $B4A;z(B)
G2: JIS X 0201 (1$B%P%$%H%+%J(B)
G3: JIS X 0212 (JIS $BJd=u4A;z(B)
$B0lJ}(B SJIS $B$O$3$N$&$A4pK\E*$K(B G0, G1, G2 $B$r%5%]!<%H$7$F$*$j!"(BG3 $B$O%5(B
$B%]!<%H$7$F$$$^$;$s!#$7$?$,$C$F!"(BSJIS $B$O(B EUC_JP $B$NItJ,=89g$H$_$J$9$3(B
$B$H$,$G$-!"<B:](B PostgreSQL 6.5 $B$^$G$O$3$N9M$($G<BAu$5$l$F$$$^$7$?!#(B
$B$H$3$m$,!"(BWindows PC $B$N(B SJIS $B$N@$3&$G$O!">e5-(B JIS $B5,3J$GDj5A$5$l$F$$(B
$B$J$$J8;z%3!<%I$,0lItMxMQ$5$l$F$*$j!"$3$NItJ,(B (UDC) $B$O=>Mh(B PostgreSQL
$B$G$OA4$/9MN8$5$l$F$$$^$;$s$G$7$?!#<B:](B UDC $B$r4^$`(B SJIS $B$r(B EUC_JP $B$K(B
$BJQ49$9$k$H$-$KIT@5$JJQ49$,9T$o$l$F$$$^$7$?!#$=$3$G(B PostgreSQL 7.0 $B$G(B
$B$O!"$^$:$3$NLdBj$r2r7h$9$k$3$H$K$7$^$7$?!#(B
$B$^$?!"(BUDC $B$NMxMQJ}$K$D$$$F$OI8=`5,3J$N$h$&$J$b$N$O$"$j$^$;$s$,!"<B$O(B
$B6H3&CDBN$G$N<h$j7h$a$,$"$j!"$$$o$f$k%G%U%!%/%H%9%?%s%@!<%I$J$i$PB8:_(B
$B$9$k$3$H$,J,$+$j$^$7$?!#$=$3$G$3$l$K$D$$$F$b$G$-$k$@$1%5%]!<%H$9$k$3(B
$B$H$K$7$^$7$?!#(B
PostgreSQL 7.0 $B$G$N(B UDC $BBP1~$N<BAu(B
(1) $B%f!<%6Dj5AJ8;zNN0h$O(B JIS $B$N%f!<%6Dj5AJ8;zNN0h$K%^%C%T%s%0$9$k!#(B
SJIS $B$H(B EUC_JP $B$G(B1$BBP(B1$B$NBP1~$K$J$j$^$9!#(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B A ($B2>>N(B)
95$B!A(B104 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G1 (JIS X 0208) 85$B!A(B95 $B6h(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B B ($B2>>N(B)
105$B!A(B114 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G3 (JIS X 0212) 85$B!A(B95 $B6h(B
(2) IBM $B3HD%J8;zNN0h(B (SJIS 115$B!A(B120 $B6h(B)
$BJQ49%F!<%V%k$K$h$C$F(B G1 (JIS X 0208)$B$H!"(BG3 (JIS X 0212)$B$KJQ49$5$l$^(B
$B$9!#$J$*!"$3$NJQ49$K$*$$$F$O!"(BSJIS --> EUC_JP $B$GJQ49$7!":F$S(B EUC_JP --
> SJIS $B$KJQ49$9$k$H85$N(B SJIS $B$KLa$i$J$$$3$H$,$"$j$^$9!#$^$?!"(BEUC_JP --
> SJIS $B$NJQ49$G$O!"$9$Y$F$NJ8;z$rJQ49$G$-$k$o$1$G$O$J$$$N$G!"$=$N>l(B
$B9g$OJQ49ITG=J8;z$H$7$F!V".!W$KCV$-49$($^$9!#(B
*$B6H3&CDBN$N<h$j7h$a$G$O!"JQ49ITG=J8;z$O!V<BAu0MB8!W$H$J$C$F$$$^$9$,!"(B
Solaris $B$r$O$8$a!"B?$/$N%7%9%F%`$,!V".!W$rJQ49ITG=J8;z$K:NMQ$7$F$$$^(B
$B$9!#(BPostgreSQL$B$b$3$l$K9g$o$;$^$7$?!#(B
(3) NEC $BA*Dj(B IBM $B3HD%J8;zNN0h(B (SJIS 89$B!A(B92 $B6h(B)
PostgreSQL 7.0$B$G$O$9$Y$FJQ49ITG=J8;z!V".!W$KCV$-49$($i$l$^$9!#(B
$B<U<-!'(B
@ -219,7 +311,10 @@ initdb/createdb/create database $B$K$*$1$k%(%s%3!<%G%#%s%0$N;XDj$K$D$$$F(B
$B$^$?!"(BSJIS $BBP1~$K$D$$$F$O!";T@n(B@$B$*CcBg$5$s$N%Q%C%A$r;29M$K$5$;$F$$(B
$B$?$@$-$^$7$?!#(B
$B;29M!'(B
o SJIS$B%f!<%6Dj5AJ8;z(B (UDC) $B$r$I$&07$&$+$H8@$&$3$H$K$D$$$FCf>r$5$s(B
(nak@email.com)$B$+$iLdBjDs5/$H>\:Y$J2r@b$rD:$-$^$7$?!#(B
$B;29M(B1$B!'(B
Pavel Behal$B;a$K$h$jDs6!$5$l$?(BWIN1250$B%5%]!<%H$G$9$,!"(BWindows$B4D6-$G$N(B
$BMxMQ$N;EJ}$K$D$$$F;29M$K$J$k%I%-%e%a%s%H$,IUB0$7$F$$$k$N$G!"$3$3$KE:(B
@ -276,9 +371,145 @@ Important:
- not tested properly
-------------------------------------------------------------------
$B;29M(B2$B!'(BSJIS$B%f!<%6Dj5AJ8;z(B (UDC) $B$r$I$&07$&$+$H8@$&$3$H$K$D$$$FCf>r$5$s(B
(nak@email.com)$B$+$i$$$?$@$$$?LdBjDs5/$H2r@b$G$9!#(B
-------------------------- $B0zMQ3+;O(B ----------------------------------
---
1. SJIS $B%3!<%I$NHO0O(B
1 $B%P%$%HL\(B 0x81 - 0x9F$B!"(B0xE0 - 0xFC
2 $B%P%$%HL\(B 0x40 - 0x7E$B!"(B0x80 - 0xFC
$B$$$o$f$k!V30;zNN0h!W$NHO0O(B:
- X0208 $B6&DL<+M3NN0h(B
|--------------------
| 85 $B6h(B 0xEB40 $B!A(B
|...
|--------------------
| 89 $B6h(B 0xED40 $B!A(B ; 89$B!A(B92 $B6h$O(B
|... ; $B!V(BNEC $BA*Dj(B IBM $B3HD%J8;zNN0h!W(B
|-------------------- ; $B$H8F$P$l$k(B
| 93 $B6h(B 0xEF40 $B!A(B
| 94 $B6h(B 0xEF9F $B!A(B 0xEFFC
- $B%f!<%6Dj5AJ8;zNN0h(B
|--------------------
| 95 $B6h(B 0xF040 $B!A(B ; 95$B!A(B104 $B6h(B
|... ; $B!V%f!<%6Dj5AJ8;zNN0h(B A$B!W(B($B2>>N(B)
|--------------------
|105 $B6h(B 0xF540 $B!A(B ; 105$B!A(B114 $B6h(B
|... ; $B!V%f!<%6Dj5AJ8;zNN0h(B B$B!W(B($B2>>N(B)
|--------------------
|115 $B6h(B 0xFA40 $B!A(B ; 115$B!A(B120 $B6h$O0lHL$K(B
|... ; $B!V(BIBM $B3HD%J8;zNN0h!W(B
|120 $B6h(B ... ; $B$H8F$P$l$k(B
|--------------------
---
2. i-mode $BC<Kv$,;H$C$F$$$k?^7AJ8;z%3!<%I$NHO0O(B
0xF89F - 0xF8FC (112 $B6h(B)
0xF940 - 0xF949 (113 $B6h(B)
0xF972 - 0xF97E (113 $B6h(B)
0xF980 - 0xF990 (113 $B6h(B)
0xF9B0 (114 $B6h(B)
---
3. $B0lHLE*$J(B EUC $BF|K\8l%3!<%I$NDj5A(B
G0 : [0x21-0x7E] ; $B$$$o$f$k(B JIS ROMAN
G1 : [0xA1-0xFE] [0xA1-0xFE] ; JIS X 0208
G2 : 0x8E [0xA1-0xDF] ; JIS X 0201 $B%+%J(B
G3 : 0x8F [0xA1-0xFE] [0x21-0x7E] ; JIS X 0212 $BJd=u4A;z(B
---
[$BLdBjE@(B]
SJIS 95$B!A(B120 $B6h$O(B JIS X0208 $B$K3:Ev$9$kNN0h$,B8:_$7$J$$(B
$B$?$a!"$3$NNN0h$N(B EUC - SJIS $BJ8;z%3!<%IJQ49$O3F%Y%s%@$K(B
$B$h$C$F0[$J$k$N$G$O$J$$$+!"$H$$$&$N$,@P0fMM$+$i$N$4;XE&(B
$B$G$7$?!#(B
---
[$B5DO@(B]
$BD4::$N7k2L!"(BSJIS 95$B!A(B120 $B6h$r(B EUC $B$KJQ49$9$k$?$a$NI8=`E*$J(B
$B%k!<%k$,$J$$$o$1$G$O$J$$!"$H$$$&$3$H$,$o$+$j$^$7$?!#>\:Y$O(B
$B8e=R$N;29M;qNA$r$4Mw$$$?$@$/$H$7$F!"$3$3$G$O$=$N%k!<%k$r(B
$B4JC1$K$4@bL@$$$?$7$^$9!#(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B A ($B2>>N(B)
95$B!A(B104 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G1 85$B!A(B95 $B6h(B
$B$?$H$($P(B SJIS $B$N(B (95, 1) = 0xF040 $B$O(B
EUC $B$N(B 0xF5A1 $B$K$J$j$^$9!#(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B B ($B2>>N(B)
105$B!A(B114 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G3 85$B!A(B95 $B6h(B
$B$?$H$($P(B SJIS $B$N(B (105, 1) = 0xF540 $B$O(B
EUC $B$N(B 0x8FF5A1 $B$K$J$j$^$9!#(B
- IBM $B3HD%J8;zNN0h(B
115$B!A(B120 $B6h(B
JIS X 0208 ($BF|K\8l(B EUC / G1)$B!"(BJIS X 0212
($BF|K\8l(B EUC / G3) $B$K3:Ev$9$kJ8;z$,$"$k>l9g(B
$B$O$=$NJ8;z$K%^%C%T%s%0!#$=$&$G$J$$>l9g$O(B
$BF|K\8l(B EUC / G3 83$B!A(B84 $B6h$r!"6hE@%3!<%I$N>e0L(B
$B$+$i=g$K3d$jEv$F$F$$$/(B ($BJQ49%F!<%V%kJ}<0(B)
$B$3$N;EMM$O!"9-$/;H$o$l$F$$$k(B SJIS $B$H(B EUC $B$N%^%C%T%s%0$,%Y%s%@$K(B
$B$h$C$F0[$J$k$?$a!"Aj8_1?MQ$N:]$KLdBj$K$J$C$F$$$k$3$H$+$i!"(B1996
$BG/$K(B OSF $BF|K\%Y%s%@6(5D2q$,8!F$:n@.$7$?Js9p=q$,%Y!<%9$K$J$C$F$$(B
$B$k$h$&$G$9!#(B
Solaris $B$N%I%-%e%a%s%H$K$O!V(BTOG $BF|K\%Y%s%@6(5D2q?d>)(B EUC$B!&%7%U%H(B
JIS $B%3!<%IJQ49;EMM!W$K$b$H$E$/$H=q$$$F$"$j!"(BSolaris 2.6 $B$+$iF3F~(B
$B$7$F$$$k$N$@$=$&$G!";d$+$i8+$l$P;v<B>e$NI8=`$H9M$($F$bIT<+A3$G$O(B
$B$J$$$H46$8$^$9!#(B
$B$J$*!">/$J$/$H$b(B 1996 $BG/Ev;~$K$*$$$F$O!"(BOracle $B$d(B Sybase $B$O(B
SJIS $B$N%f!<%6Dj5A(B/$B%Y%s%@Dj5AJ8;zNN0h$r(B EUC $B$KJQ49$9$k:]!"H=JLIT(B
$B2DG=J8;z$H$7$F07$C$F$$$k$i$7$$$H$$$&$3$H$bJdB-$7$F$*$-$^$9!#(B
---
[$B;29M;qNA(B]
// URL $B$,D9$$$N$G!"ESCf$G@Z$l$J$$$H$$$$$N$G$9$,(B...
-$B!VF|K\8l(B EUC$B!&%7%U%H(B JIS $B%3!<%IJQ49;EMM$H%3!<%I7O<BBVD4::!W(B
1966, OSF $BF|K\%Y%s%@6(5D2q(B
http://www.opengroup.or.jp/jvc/cde/sjis-euc.html
-$B!VJ8;z%3!<%IJQ495,B'!W(B
Solaris 7$B!"(BJFP $B%f!<%6!<%:%,%$%I(B
http://docs.sun.com/ab2/coll.139.3/JFPUG/@Ab2PageView/11683?Ab2Lang=ja&Ab2Enc=euc-jp
-$B!VF|K\8lJ8;z%3!<%I!W(B
Solaris 7$B!"(BJFP $B%f!<%6!<%:%,%$%I(B
http://docs.sun.com/ab2/coll.139.3/JFPUG/@Ab2PageView/879;td=5?Ab2Lang=ja&Ab2Enc=euc-jp
// $BFf$N!V(B1$B!A(B20 $B6h!W$N5-=R$O$3$3$+$i$-$F$$$^$9!#(B
---
-------------------------- $B0zMQ$3$3$^$G(B ---------------------------------
$B2~DjMzNr!'(B
2000/3/22
* PQsetClientEncoding, PQclientEncoding $B$r(Blibpq $B4X?t$KDI2C!"(B
$B%3%M%/%7%g%sKh$K%(%s%3!<%G%#%s%0$rJQ992DG=$K!#(B
* SJIS $B%f!<%6Dj5AJ8;z(B (UDC) $B$X$NBP1~(B
* ./configure --with-mb=EUC_JP $B$+$i(B
./configure --enable-multibyte=EUC_JP $B$KJQ99(B
* SQL_ASCII $B$N(B regression test $BDI2C(B
* $B$3$l$i$O(B 7.0 $B$KH?1G$5$l$^$9!#(B
1999/7/11 WIN1250(Windows$BMQ$N%A%'%38l(B)$B%5%]!<%H$rDI2C$7$^$7$?!#(B
* WIN1250 $B$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$H$7$FMxMQ$G$-$k$h(B
$B$&$K$J$j$^$7$?!#$3$N>l9g!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$O(B