mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-17 03:47:01 +08:00
< * -Allow elog() to return error codes, module name, file name, line < number, not just messages (Tom) < * -Add error codes (Tom) < * -Make error messages more consistent 40d35 < * -Add GUC log_statement_and_duration to print statement and >= min duration 51d45 < * -Allow easy display of usernames in a group 53d46 < * -Add start time to pg_stat_activity 55d47 < * -Have standalone backend read postgresql.conf (Tom) 59d50 < * -Allow CIDR format to be used in pg_hba.conf 74d64 < * -Add IPv6 capability to INET/CIDR types 77d66 < * -Change NUMERIC data type to use base 10,000 internally 82d70 < * -Add GUC variables to control floating number output digits (Pedro Ferreira) 90,92d77 < * -Allow current datestyle to restrict dates; prevent month/day swapping < from making invalid dates valid < * -Prevent month/day swapping of ISO dates to make invalid dates valid 102d86 < o -Allow arrays to be ORDER'ed 104d87 < o -Support construction of array result values in expressions (Joe) 128d110 < * -Remove Cyrillic recode support 146,147d127 < * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops) < fails index can't store constant parameters 155d134 < * -Add btree index support for reltime, tinterval, regproc (Tom) 157d135 < * -Certain indexes will not shrink, e.g. indexes on ever-increasing 161d138 < * -Allow LIKE indexing optimization for non-ASCII locales using special index 173d149 < * -Improve concurrency of hash indexes (Tom) 181d156 < * -Allow LIMIT/OFFSET to use expressions (Tom) 187d161 < * -Return proper effected tuple count from complex commands [return] 191d164 < * -Make a transaction-safe TRUNCATE (Rod) 196,197d168 < * -Allow UPDATE to use SET col = DEFAULT < * -Add config variable to prevent auto-adding missing FROM-clause tables 199d169 < * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle 224,225d193 < o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod) < o -Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values 237d204 < o -Allow CLUSTER to cluster all tables (Alvaro Herrera) 248d214 < o -MOVE 0 should not move to end of cursor (Bruce) 252d217 < o -Allow cursors outside transactions 264,265d228 < o -Allow EXPLAIN EXECUTE to see prepared plans < o -Allow SHOW of some non-modifiable variables, like pg_controldata 280d242 < o -Allow array declarations and other data types in PL/PgSQL DECLARE 282,283d243 < o -Make PL/PgSQL %TYPE schema-aware < o -Allow PL/PgSQL to support array element assignment (Joe) 294,298d253 < * -Allow psql to show transaction status if backend protocol changes made < * -Add schema, cast, and conversion backslash commands to psql (Christopher) < * -Allow pg_dump to dump a specific schema (Neil Conway) < * -Allow psql to do table completion for SELECT * FROM schema_part and < table completion for SELECT * FROM schema_name. 300,302d254 < * -Allow SSL-enabled clients to turn off SSL transfers < * -Modify pg_get_triggerdef() to take a boolean to pretty-print, < and use that as part of pg_dump along with psql 327d278 < o -Add SQLSTATE 330d280 < o -Make casts work in variable initializations 334,336d283 < o -Allow multi-threaded use of SQLCA < o -Understand structure definitions outside a declare section < o -Allow :var[:index] or :var[<integer>] as cvariable for an array var 356d302 < * -Support statement-level triggers (Neil) 460,461d405 < * -Add checkpoint_min_warning postgresql.conf option to warn about checkpoints < that are too frequent (Bruce) 472,476d415 < * -Improve Subplan list handling < * -Allow Subplans to use efficient joins(hash, merge) with upper variable < * -Add hash for evaluating GROUP BY aggregates (Tom) < * -Allow merge and hash joins on expressions not just simple variables (Tom) < * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom) 480d418 < * -Inline simple SQL functions to avoid overhead (Tom) 495d432 < * -Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca> 511,512d447 < * -Modify regression tests to prevent failures do to minor numeric rounding < * -Add OpenBSD's getpeereid() call for local socket authentication 537,542d471 < o -Show transaction status in psql < o -Allow binding of query parameters, support for prepared queries < o -Remove hard-coded limits on user/db/password names < o -Remove unused elements of startup packet (unused, tty, passlength) < o -Fix COPY/fastpath protocol < o -Error codes 544d472 < o -Special passing of binary values in platform-neutral format (bytea?) 547d474 < o -Report server version number, database encoding, client encoding
PostgreSQL 7.3 multi-byte (MB) support README 2002/10/21 $B:n@.(B
$B@P0fC#IW(B
ishii@postgresql.org
$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%(%s%3!<%G%#%s%0$N$^$^3JG<$5$l$^$9!%(B
2. $B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(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$J$I$NJ8;zNs4X?t$G(B
$B$N%^%k%A%P%$%H%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%(%s%3!<%G%#%s%0JQ49$r9T$J$$$^$9!%(B
9. $B%f!<%6Dj5A$N%(%s%3!<%G%#%s%0JQ49$r:n@.2DG=!%(B
$B%^%k%A%P%$%H%5%]!<%H$,07$&$3$H$N$G$-$k%(%s%3!<%G%#%s%0$O0J2<$K$J$j$^(B
$B$9!%(B
SQL_ASCII ASCII
EUC_JP $BF|K\8l(B EUC
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
$B$9$J$o$A(B 0xffff $B$^$G$G$9!%(B
MULE_INTERNAL mule $B$NFbIt%3!<%I!%$?$@$7!$(BType N $B$NITDjD9J8;z$O(B
$B%5%]!<%H$7$F$$$^$;$s!%(B
LATIN1 $B$+$i(B LATIN10$B$^$G(B
ISO_8859_1 $B$+$i(B 16$B$^$G(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.
$B%U%m%s%H%(%s%IB&$G$O$5$i$K0J2<$N%(%s%3!<%G%#%s%0$,;HMQ$G$-$^$9!%(B
SJIS $B%7%U%H(BJIS(MS932$B$H$[$\8_49(B)
BIG5 $BBfOQ$d9a9A$G;HMQ$5$l$F$$$kCf9q8l!%(BEUC_TW$B$H8_49(B
$B@-$,$"$j$^$9!%(B
GBK Windows-936
UHC Windows-949
WIN1250 Windows-1250
GB18030 GB18030
$B"#F|K\8l$r;HMQ$9$k$3$H$N$G$-$k%(%s%3!<%G%#%s%0(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
$B$$>l9g$O(B UNICODE $B$b$7$/$O(B MULE_INTERNAL $B$H$J$k$G$7$g$&!%(B
$BCm0U!'(BMULE_INTERNAL $B$rA*$V$H!$$?$/$5$s$NJ8;z=89g$KBP1~$G$-$FJXMx$G$9(B
$B$,!$@55,I=8=$GJ#?t$NJ8;z=89g$K$^$?$,$k$h$&$JHO0O;XDj(B($B$?$H$($P!$(B[a-$BHO(B]
$B$H$+!$(B[abc$BHO0O(B]$B$N$h$&$J(B)$B$O;H$($^$;$s!%J#?t$NHO0O;XDj$G0[$J$kJ8;z=89g(B
$B$r;H$&$N$O9=$$$^$;$s(B($B$?$H$($P(B [abc][$BHO(B-$B0O(B])$B!%$^$?!$(B[^a] $B$N$h$&$JI=8=(B
$B$O!$(B"a" $B$NB0$9$kJ8;z=89g(B($B$3$N>l9g!$(BUS-ASCII)$B$K$*$$$F(B "a" $B0J30$G$"$k(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(B
PostgreSQL 7.3$B$+$i$O(Bconfigure$B$N%*%W%7%g%s;XDj$NM-L5$K4X$o$i$:!$%^%k(B
$B%A%P%$%H%5%]!<%H$,M-8z$K$J$C$F$$$^$9$N$G!$FC$K(Bconifgure$B;~$K%^%k%A%P(B
$B%$%HMQ$NFCJL$J%*%W%7%g%s$r;XDj$9$kI,MW$O$"$j$^$;$s!%(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
--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 --encoding $B%*%W%7%g%s$r>JN,$7$?>l9g$O!$%(%s%3!<%G%#%s%0$H(B
$B$7$F(BSQL_ASCII$B$,:NMQ$5$l$F$7$^$&$N$G!$F|K\8l$r%G%U%)%k%H$G;HMQ$9$k>l(B
$B9g$O!$(B
-E EUC_JP
$B$"$k$$$O(B
--encoding=EUC_JP
$B$H$7$FI,$:L@<(E*$K%(%s%3!<%G%#%s%0$r;XDj$7$F$/$@$5$$!%(B
$B$J$*!$(BPostgreSQL 7.3$B0J9_%m%1!<%k%5%]!<%H$,I,$:M-8z$K$J$C$F$$$^$9$,!$(B
$B$3$l$OF|K\8l$J$I$r;HMQ$9$k:]$K$O2?$N%a%C%j%H$b$J$$$P$+$j$G$J$/!$>c32(B
$B$N860x$K$J$C$?$j!$(BLIKE$B8!:w$d@55,I=8=8!:w$G%$%s%G%C%/%9$,M-8z$K$J$i$J(B
$B$$$J$I$NLdBj$r0z$-5/$3$9$N$G!$L58z$K$7$F$*$/$3$H$r$*$9$9$a$7$^$9!%%m(B
$B%1!<%k%5%]!<%H$rL58z$K$9$k$?$a$K$O!$(B
--no-locale
$B%*%W%7%g%s$r;XDj$7$^$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
CREATE DATABASE dbanme WITH ENCODING = '$B%(%s%3!<%G%#%s%0(B';
LOCATION $B$rF1;~$K;XDj$9$k>l9g$O0J2<$N$h$&$K$J$j$^$9!%(B
CREATE DATABASE dbanme WITH LOCATION = 'path' ENCODING = '$B%(%s%3!<%G%#%s%0(B';
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 -l$B!$(Bpsql $B$N(B \l $B$G;2>H$G$-$^$9!%(B
$ 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)
$B"#J8;z7?$N%G!<%?7?$K$D$$$F(B
7.2$B$G$O!$(BCHAR(n)$B$H(BVARCHAR(n)$B$N(B n $B$OJ8;z?t$r0UL#$7$^$9!%(Bn $B$,%P%$%H?t$r(B
$B0UL#$9$k(B 7.1 $B0JA0$H$O0[$J$j$^$9$N$G$4Cm0U2<$5$$!%(B
$BNc$r<($7$^$9!%(B
7.2$B$G$O!$(BCHAR(1)$B$K(B"$B$"(B"$B$r3JG<$G$-$^$9$,!$(B7.1$B0JA0$G$O3JG<$G$-$^$;$s$3(B
$B$l$O!$(B"$B$"(B"$B$r3JG<$9$k$?$a$K>/$J$/$H$b(B2$B%P%$%H0J>e$rMW$9$k$+$i$G$9!%(B
$B5U$K!$(B"a" $B$O(B1$B%P%$%H$7$+>CHq$7$J$$$?$a!$(B7.1$B$G$b(B CHAR(1) $B$K3JG<$G$-$^(B
$B$9!%(B
$B$J$*!$(B7.2$B$G$O!$(B7.1$B$^$G$H0[$J$j!$(BCHAR(n)$B$K3JG<$G$-$J$$(B n $BJ8;z$h$jBg$-(B
$B$$J8;zNs$O(B n $BJ8;z$G@Z$j<N$F$i$l$k$N$G$O$J$/!$%(%i!<$K$J$k$3$H$K$4Cm(B
$B0U2<$5$$!%$3$l$O!$%^%k%A%P%$%HBP1~$NM-L5$K4X$o$i$:!$J8;zNs$N07$$$,(B
SQL$BI8=`$K1h$&$h$&$KJQ$C$?$+$i$G$9!%(B
$B"#%U%m%s%H%(%s%I$H%P%C%/%(%s%I$N<+F0%(%s%3!<%G%#%s%0JQ49$K$D$$$F(B
$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%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, 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, 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
$B$r%P%C%/%(%s%I$KEA$($kI,MW$,$"$j$^$9!%$=$N$?$a$NJ}K!$,$$$/$D$+$"$j$^(B
$B$9!%(B
o psql $B$N(B \encoding $B%3%^%s%I$r;H$&J}K!(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:
\encoding SJIS
o libpq $B$N4X?t(B PQsetClientEncoding $B$r;H$&J}K!(B
7.0 $B$+$i?7$7$$(B libpq $B4X?t(B PQsetClientEncoding $B$,DI2C$5$l$F$$$^$9!%(B
PQsetClientEncoding(PGconn *conn, const char *encoding)
$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
int PQclientEncoding(const PGconn *conn)
$B$G$9!%(B
o postgresql.conf $B$G@_Dj$9$kJ}K!(B
$B%U%m%s%H%(%s%I$N%G%U%)%k%H%(%s%3!<%G%#%s%0$r;XDj$9$k$K$O!$(B
postgresql.conf $B$N(B client_encoding $B$r;XDj$7$^$9!%;XDjNc(B:
client_encoding = SJIS
o $B4D6-JQ?t(B PGCLIENTENCODING $B$r;H$&J}K!(B
(1) postmaster $B5/F0;~$K4D6-JQ?t$r@_Dj$9$kJ}K!(B
$B4D6-JQ?t(B PGCLIENTENCODING $B$r@_Dj$9$k$3$H$K$h$j!$(B postgresql.conf $B$G(B
$B%(%s%3!<%G%#%s%0$r;XDj$9$k$N$HF1$88z2L$,F@$i$l$^$9!%$?$@$7!$$3$l$ONr(B
$B;KE*7P0^$+$i;D$5$l$F$$$k5!G=$G!$:#8e$O$3$N5!G=$rMxMQ$7$J$$$3$H$r$*$9(B
$B$9$a$7$^$9!%@_DjNc(B:
export PGCLIENTENCODING=SJIS postmaster -S
(2) $B%/%i%$%"%s%H!$%U%m%s%H%(%s%IKh$K%(%s%3!<%G%#%s%0$r@_Dj$7$?$$>l9g(B
$B$=$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
SET CLIENT_ENCODING SQL$B%3%^%s%I$r;H$C$FF0E*$K%U%m%s%H%(%s%I$N%(%s%3!<(B
$B%G%#%s%0$rJQ99$G$-$^$9!%Nc(B:
SET CLIENT_ENCODING TO SJIS;
$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
show client_encoding;
$B$G;2>H$G$-$^$9(B($B>.J8;z$GI=<($5$l$^$9(B)$B!%(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$-$K(B postgresql.conf $B$N(B client_encoding $B$d4D(B
$B6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k$H$=$N%(%s%3!<%G%#%s%0$K!$$=(B
$B$&$G$J$1$l$P%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$HF1$8$K$J$j$^$9!%(B
$B"#L@<(E*$J%(%s%3!<%G%#%s%0JQ49(B
7.2$B$G$O!$(Bconvert$B$H$$$&4X?t$r;H$$!$L@<(E*$J%(%s%3!<%G%#%s%0JQ49$,$G$-(B
$B$^$9!%(B
convert(string text, [src_encoding name,] dest_encoding name)
$B$3$3$G(Bsrc_encoding$B$O(Btext$B$N%(%s%3!<%G%#%s%0L>$G$9!%>JN,$9$k$H!$%G!<%?(B
$B%Y!<%9%(%s%3!<%G%#%s%0L>$HF1$8$G$"$k$H8+$J$5$l$^$9!%(Bdest_encoding$B$O!$(B
$BJQ498e$N%(%s%3!<%G%#%s%0L>$G$9!%(B
$BNc$r<($7$^$9!%(B
SELECT convert(text, EUC_JP) FROM unicode_tbl;
$B$O!$(BUnicode$B$N%F!<%V%k(Bunicode_tbl$B$N(Btext$BNs$r(BEUC_JP$B$KJQ49$7$FJV$7$^$9!%(B
7.3$B$G$O$5$i$K(BSQL$BI8=`$N(BCONVERT$B4X?t$,;H$($^$9!%(BSQL$BI8=`$N(BCONVERT$B$O(B
PostgreSQL$B$N(BCONVERT$B$H5!G=$O$[$H$s$IF1$8$G$9$,!$8F$S=P$77A<0$,0[$j$^(B
$B$9!%(B
SELECT convert(text using euc_jp_to_utf_8) FROM unicode_tbl;
"using" $B$N8e$N0z?t$O!V%3%s%P!<%8%g%sL>!W$G$9!%$3$NNc$G$O!$(BEUC_JP $B$+(B
$B$i(B UTF-8 $B$KJQ49$9$k%3%s%P!<%8%g%s$r;XDj$7$F$$$^$9!%Dj5A:Q$N%3%s%P!<(B
$B%8%g%s$K$D$$$F$O!$%f!<%6!<%:%,%$%I$N(B "String Functions and
Operators" $B$NI=(B"Built-in Conversions" $B$r8+$F$/$@$5$$!%(B
$B"#%(%s%3!<%G%#%s%0JQ49ITG=$N>l9g$N=hM}(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
$B$J$*!$(BUnicode$B$H$=$l0J30$N%(%s%3!<%G%#%s%0$NJQ49$@$1$ONc30$G!$(BNOTICE
$B%a%C%;!<%8$,I=<($5$l!$JQ49ITG=$NJ8;z$OL5;k$5$l$^$9!%(B
$B"#%G%U%)%k%H%3%s%P!<%8%g%s(B
$B%G%U%)%k%H%3%s%P!<%8%g%s$O!$%P%C%/%(%s%I$H%U%m%s%H%(%s%I$H$N4V$N%(%s(B
$B%3!<%G%#%s%0$N<+F0JQ49$K;H$o$l$kFCJL$J%3%s%P!<%8%g%s$G$9!%%G%U%)%k%H(B
$B%3%s%P!<%8%g%s$O3F!9$N(B{$B%9%-!<%^!$%=!<%9%(%s%3!<%G%#%s%0!$%G%9%F%#%M!<(B
$B%7%g%s%(%s%3!<%G%#%s%0(B}$B$NAH$_9g$o$;$K$*$$$F!$$?$@0l8D$@$1B8:_$7$^$9!%(B
$B>e5-$G@bL@$7$?AH$_9~$_:Q$N%3%s%P!<%8%g%s$O!$(Bpg_catalog$B%9%-!<%^$K$*$$(B
$B$FDj5A$5$l$F$*$j!$%9%-!<%^%5!<%A%Q%9$N@_Dj$K4X$o$i$:I,$:MxMQ$G$-$k%3(B
$B%s%P!<%8%g%s$K$J$C$F$$$^$9!%(B
$B5U$K8@$&$H!$(B pg_catalog $B0J30$N%9%-!<%^$K%G%U%)%k%H%3%s%P!<%8%g%s$r:n(B
$B@.$9$k$3$H$K$h$j!$%G%U%)%k%H%3%s%P!<%8%g%s$r<+M3$KA*Br$9$k$3$H$b$G$-(B
$B$k$o$1$G$9!%$?$H$($P(B SJIS $B$H$NJQ49$K$*$$$F!$(BPostgreSQL $B$,MQ0U$7$F$$(B
$B$k(B MS932$B8_49(B $B$NJQ49$G$O$J$/!$(BJIS $B5,3J$N%7%U%H%8%9$KAjEv$9$kJQ49$r9T(B
$B$&$h$&$J%3%s%P!<%8%g%s$r:n@.$9$k$3$H$b2DG=$G$9!%(B
$B"#%f!<%6Dj5A%3%s%P!<%8%g%s$N:n@.(B
PostgreSQL 7.3$B0J9_!$%f!<%6Dj5A$N%3%s%P!<%8%g%s$r:n@.$G$-$k$h$&$K$J$C(B
$B$F$$$^$9!%%3%s%P!<%8%g%s$NDj5A$O(B CREATE CONVERSION $B$H$$$&(B SQL $B%3%^%s(B
$B%I$r;H$C$F9T$$$^$9!%(B
CREATE [DEFAULT] CONVERSION conversion_name
FOR source_encoding
TO dest_encoding FROM funcname
$B>\:Y$O%j%U%!%l%s%9%^%K%e%"%k$r$4Mw2<$5$$!%(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
PostgreSQL 7.0.1$B0J9_$G$O!$0lC6(B IBM $B3HD%J8;zNN0h$KJQ49$5$l$?8e!$(BG1
(JIS X 0208)$B$H!$(BG3 (JIS X 0212)$B$KJQ49$5$l$^$9!%(B
$B<U<-!'(B
o $BFA2H(B@$B;06(1?M"%5!<%S%9$5$s$+$i!$(BNEC $BA*Dj(B IBM $B4A;zBP1~%Q%C%A$rDs6!$7(B
$B$F$$$?$@$-$^$7$?!%(B
o $B3F<oJ8;z%;%C%H!$%3!<%I7O$K$D$$$F!$F|K\8l(B PostgreSQL $B%a!<%j%s%0%j%9%H(B
$B$N%a%s%P$NJ}$+$i%"%I%P%$%9$rD:$-$^$7$?!%$3$3$K46<U$7$^$9!%(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
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"#(BUnicode$B$H$=$l0J30$N%(%s%3!<%G%#%s%0$H$NAj8_JQ49$K$D$$$F(B
PostgreSQL 7.1$B$+$i(BUnicode$B$H$=$l0J30$N%(%s%3!<%G%#%s%0$H$NAj8_JQ49$,(B
$B2DG=$K$J$j$^$7$?!%$3$NJQ49$O$4$/0lIt$NJ8;z%3!<%I(B(ISO 8859-1)$B$r$N$>$-!$(B
$B%m%8%C%/$K$h$kJQ49$,$G$-$J$$$?$a!$JQ49$N:]$K$O%F!<%V%k$,I,MW$K$J$j$^(B
$B$9!%(BPostgreSQL$B$N<BAu$G$O!$(BUnicode$BJQ49%F!<%V%k$O(B Unicode organization
$B$,Ds6!$9$k$b$N$r;HMQ!$$3$l$r(BPerl$B%W%m%0%i%`$G(BC$B8@8l$N%F!<%V%k$KJQ49$7(B
$B$F:n@.$7$F$$$^$9(B(Perl$B%W%m%0%i%`$O(BNARITA Tomio$B;a:n@.$N(Blv$B%P!<%8%g%s(B
4.3.6 $B$KIUB0$9$k$b$N$r2~B$$N>e!$MxMQ$7$F$$$^$9(B)$B!%(BUnicode
organization$B$NDs6!$9$kJQ49%F!<%V%k$O:FG[I[$,5v2D$5$l$F$$$J$$$?$a!$(B
PostgreSQL$B$N%=!<%9%3!<%I$K$O4^$^$l$F$$$^$;$s!%0J2<!$;HMQ$7$?JQ49%F!<(B
$B%V%k$rNs5s$7$^$9!%(B
$B%(%s%3!<%G%#%s%0(B $BJQ49%F!<%V%k(B
============================================================
ISO 8859-1 $B$J$7(B
ISO 8859-2 8859-2.TXT
ISO 8859-3 8859-3.TXT
ISO 8859-4 8859-4.TXT
ISO 8859-5 8859-5.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
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
o $BFA2H(B@$B;06(1?M"%5!<%S%9$5$s$+$i!$(BCP932.TXT$B$h$j@8@.$7$?(BSJIS$BMQ$NJQ49%F!<(B
$B%V%k$rDs6!$7$F$$$?$@$-$^$7$?!%$3$l$K$h$j!$(BIBM $B3HD%J8;zNN0h(B (SJIS
115$B!A(B120 $B6h(B), NEC $BA*Dj(B IBM $B3HD%J8;zNN0h(B (SJIS 89$B!A(B92 $B6h(B)$B$KBP1~$9$k(B
$B$3$H$,$G$-$k$h$&$K$J$j$^$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
$BIU$7$F$*$-$^$9!%(B
-------------------------------------------------------------------
Version: 0.91 for PgSQL 6.5
Author: Pavel Behal
Revised by: Tatsuo Ishii
Email: behal@opf.slu.cz
Licence: The Same as PostgreSQL
Sorry for my Eglish and C code, I'm not native :-)
!!!!!!!!!!!!!!!!!!!!!!!!! NO WARRANTY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Instalation:
------------
1) Change three affected files in source directories
(I don't have time to create proper patch diffs, I don't know how)
[PostgreSQL 6.5.1$B$G$O$3$N%9%F%C%W$OI,MW$"$j$^$;$s!%(B-- $B@P0f(B]
2) Compile with enabled locale and multibyte set to LATIN2
3) Setup properly your instalation, do not forget to create locale
variables in your profile (environment). Ex. (may not be exactly true):
LC_ALL=cs_CZ.ISO8859-2
LC_COLLATE=cs_CZ.ISO8859-2
LC_CTYPE=cs_CZ.ISO8859-2
LC_MONETARY=cs_CZ.ISO8859-2
LC_NUMERIC=cs_CZ.ISO8859-2
LC_TIME=cs_CZ.ISO8859-2
4) You have to start the postmaster with locales set!
5) Try it with Czech language, it have to sort
5) Install ODBC driver for PgSQL into your M$ Windows
6) Setup properly your data source. Include this line in your ODBC
configuration dialog in field "Connect Settings:" :
SET CLIENT_ENCODING = 'WIN1250';
7) Now try it again, but in Windows with ODBC.
Description:
------------
- Depends on proper system locales, tested with RH6.0 and Slackware 3.6,
with cs_CZ.iso8859-2 loacle
- Never try to set-up server multibyte database encoding to WIN1250,
always use LATIN2 instead. There is not WIN1250 locale in Unix
- WIN1250 encoding is useable only for M$W ODBC clients. The characters are
on thy fly re-coded, to be displayed and stored back properly
Important:
----------
- it reorders your sort order depending on your LC_... setting, so don't be
confused with regression tests, they don't use locale
- "ch" is corectly sorted only in some newer locales (Ex. RH6.0)
- you have to insert money as '162,50' (with comma in aphostrophes!)
- 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
2002/10/21
* $B%^%k%A%P%$%HBP1~$,%*%W%7%g%s$G$O$J$/!$8GDj$GI,$:AH$_9~$^$l$k(B
$B$h$&$K$J$j$^$7$?!%(B
* CREATE CONVERSION/DROP CONVERSION$B$NDI2C!%$3$l$K$H$b$J$$!$%((B
$B%s%3!<%G%#%s%0JQ494X?t$,%m!<%@%V%k4X?t$K$J$j!$%P%C%/%(%s%I$N(B
$B%m!<%I%b%8%e!<%k%5%$%:$,(B7.2$B$h$j$b>.$5$/$J$C$F$$$^$9!%$^$?!$(B
SQL$BI8=`$N(BCONVERT$B4X?t$rDI2C$7$^$7$?!%(B
* $B$$$/$D$+%(%s%3!<%G%#%s%0$,DI2C$5$l$F$$$^$9!%(B
* $B0J>e!$(B7.3$B$KH?1G$5$l$^$9!%(B
2001/10/01
* CONVERT$B$NDI2C!%(Blpad/rpad/trim/btrim/ltrim/rtrim/translate$B$N(B
$B%^%k%A%P%$%HBP1~DI2C!%(Bchar/varchar$B$G%P%$%H?t$G$O$J$/!$J8;z?t(B
$B$G%5%$%:$rDj5A$9$k$h$&$KJQ99!%0J>e!$(B7.2$B$KH?1G$5$l$^$9!%(B
2001/2/15
* $BFA2H(B@$B;06(1?M"%5!<%S%9$5$s$+$i!$(BCP932.TXT$B$h$j@8@.$7$?(BSJIS$BMQ$N(B
$BJQ49%F!<%V%k$rDs6!$7$F$$$?$@$-$^$7$?!%(B7.1$B$KH?1G$5$l$^$9!%(B
2001/1/6
* UNICODE$B$HB>$N%(%s%3!<%G%#%s%0$H$NAj8_JQ495!G=$rDI2C!%(B
* 7.1$B$KH?1G$5$l$^$9!%(B
2000/5/20
* NEC $BA*Dj(B IBM $B4A;zBP1~$rDI2C$7$^$7$?!%$3$l$O(B $BFA2H(B@$B;06(1?M"%5!<%S%9(B
$B$5$s$+$i$N(B contribute $B$G$9!%(B
* $B$3$l$i$O!$(B7.0.1 $B$KH?1G$5$l$^$9!%(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
LATIN2 $B$^$?$O(B MULE_INTERNAL $B$H$7$^$9!%(B
(contributed by Pavel Behal)
* backend/utils/mb/conv.c$B$K$*$1$k7?$NIT@09g$r=$@5$7$^$7$?!%(B
(contributed by Tomoaki Nishiyama)
* $B$3$l$i$O(B6.5.1$B$KH?1G$5$l$^$9!%(B
1999/3/23 $B%-%j%kJ8;z%5%]!<%HDI2CB>(B(6.5 $B$KH?1G:Q(B)
* $B%(%s%3!<%G%#%s%0$H$7$F(B KOI8(KOI8-R), WIN(CP1251), ALT(CP866) $B$r(B
$B%5%]!<%H$7$F$$$^$9!%$3$l$i$O!$%U%m%s%H%(%s%I!$%P%C%/%(%s%I!$(B
$B$I$A$i$N%(%s%3!<%G%#%s%0$H$7$F$b;HMQ2DG=$G$"$j!$%(%s%3!<%G%#%s%0$N(B
$BAj8_JQ49$,2DG=$G$9!%$^$?!$=>Mh$+$i%5%]!<%H$7$F$$$k(B ISO 8859-5 $B$b(B
$BF1MM$K;HMQ2DG=$G$9!%(B
$B%-%j%kJ8;z%5%]!<%H$O!$(BOleg Broytmann <phd@sun.med.ru> $B;a$N(B
$B%j%/%(%9%H5Z$S6(NO$K$h$j<B8=$7$^$7$?!%$3$l$O!$=>Mh$+$i$"$k(B
RCODE $B%5%]!<%H$N5!G=$r<h$j9~$`$b$N$G$b$"$j$^$9!%(B
* MB $B$H(B locale $B$rF1;~$K;XDj$7$?>l9g$KBgJ8;z!?>.J8;z$rL5;k$7$?(B
$B@55,I=8=8!:w$,@5>o$KF0:n$7$J$$%P%0$r=$@5(B
1999/1/26 Big5 $B%5%]!<%HDI2C(B(6.4.2-patched/6.5 $B$KH?1G:Q(B)
* Big5 $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
EUC_TW $B$^$?$O(B MULE_INTERNAL $B$H$7$^$9!%(B
* EUC_TW $B$N(B regression test $B%1!<%9$rDI2C(B
(contributed by Jonah Kuo <jonahkuo@mail.ttn.com.tw>)
1998/12/16 $BK\%I%-%e%a%s%H=$@5(B(6.4.2 $B$KH?1G:Q(B)$B!%(B
* Makefile.custom $B$G(B MB=EUC_JP $B$J$I$H@_Dj$9$kJ}K!$O(B 6.4 $B0J9_(B
$B%5%]!<%H$5$l$F$$$J$$$N$G:o=|$7$?!%(B
* $BJ8;z%3!<%I(B $B"*(B $B%(%s%3!<%G%#%s%0!$%/%i%$%"%s%H"*%U%m%s%H%(%s%I(B
$B%5!<%P"*%P%C%/%(%s%I(B $B$K$=$l$>$l8l6g$r=$@5!%(B
1998/12/15 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(B(6.4.2 $B$KH?1G:Q(B)$B!%(B
* SQL_ASCII $B%5%]!<%H$N%P%0=$@5(B
1998/11/21 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(B(6.4.2 $B$KH?1G:Q(B)$B!%(B
* BINARY CURSOR $B$NLdBj$r=$@5(B
* pg_dumpall $B$N%P%0=$@5(B
1998/11/5 6.4 $B%j%j!<%9!%(B
* pg_database $B$N(B encoding $B%+%i%`$,(B MB $B$,M-8z$G$J$$$H$-$K$b(B
$BDI2C$5$l$k$h$&$K$J$C$?!%$=$N$?$a!$(BMB $B$,M-8z$G$J$$$H$-$K$O!$(B
ASCII $B$N%(%s%3!<%G%#%s%0$rI=$9(B SQL_ASCII $B$r?7$7$$%(%s%3!<%G%#%s%0(B
$B$H$7$FDI2C$7$?!%$3$l$K$H$b$J$$!$%(%s%3!<%G%#%s%0L>$KBP1~$9$k(B
$B%(%s%3!<%G%#%s%0(BID$B$,(B SQL_ASCII $B$r(B 0 $B$H$9$kHV9f$KJQ99$K$J$C$?!%(B
1998/7/22 6.4 $B&A8~$1$K%Q%C%A$r%j%j!<%9!%(B
* initdb/createdb/create database $B$G%P%C%/%(%s%IB&$N(B
$B%(%s%3!<%G%#%s%0$r@_Dj$-$k5!G=<BAu!%$3$N$?$a!$%7%9%F%`%+%?%m(B
$B%0$N(B pg_database $B$K?7$7$$%+%i%`(B encoding $B$rDI2C(B(MB$B$,M-8z$J;~$@$1(B)
* copy $B$,(B PGCLIENTENCODING $B$KBP1~(B
* SQL92 $B$N(B "SET NAMES" $B$r%5%]!<%H(B(MB$B$,M-8z$J;~$@$1(B)
* LATIN2-5 $B$r%5%]!<%H(B
* regression test $B$K(B unicode $B$N%F%9%H%1!<%9$rDI2C(B
* MB $B@lMQ$N(B regression $B%F%9%H%G%#%l%/%H%j(B test/mb $B$rDI2C(B
* $B%=!<%9%U%!%$%k$NCV$->l=j$rBgI}8+D>$7!%(BMB $B4X78$O(B
include/mb, backend/utils/mb $B$KCV$/$h$&$K$7$?(B
1998/5/25 $B%P%0=$@5(B(mb_b3.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!$(B
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
1998/5/18 $B5!G=DI2C!?%P%0=$@5(B(mb_b2.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!$(B
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
* $B4D6-JQ?t(B PGCLIENTENCODING $B$N%5%]!<%H!%%U%m%s%H%(%s%IB&$N(B
$B%(%s%3!<%G%#%s%0$r;XDj$9$k!%8=:_!$(BSJIS, EUC_*, MULE_INTERNAL,
LATIN1 $B$,;XDj$G$-$k!%$^$?!$(B
set client_encoding to 'sjis';
$B$G$b2DG=(B
* 8bit $BJ8;z$,EO$k$HLdBj$,5/$-$k2U=j$K$G$-$k$@$1BP1~(B
1998/4/21 $B5!G=DI2C!?%P%0=$@5(B(mb_b1.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!$(B
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$F$$$k(B)
* character_length(), position(), substring() $B$N%^%k%A%P%$%H(B
$BBP1~(B
* octet_length() $BDI2C(B $B"*(B initdb $B$N$d$jD>$7I,MW(B
* configure $B$N%*%W%7%g%s$K(B MB $B%5%]!<%HDI2C(B
(ex. configure --with-mb=EUC_JP)
* EUC_KR $B$N(B regression test $BDI2C(B
("Soonmyung. Hong" <hong@lunaris.hanmesoft.co.kr> $B$5$sDs6!(B)
* EUC_JP $B$N(B regression test $B$K(B character_length(), position(),
substring(), octet_length() $BDI2C(B
* regress.sh $B$N(B SystemV $B$K$*$1$kHs8_49@-=$@5(B
* toupper(), tolower() $B$K(B 8bit $BJ8;z$,EO$k$HMn$A$k$3$H$,(B
$B$"$k$N$r=$@5(B
1998/3/25 PostgreSQL 6.3.1 $B%j%j!<%9!$(BMB PL2 $B$,<h$j9~$^$l$k(B
1998/3/10 PL2 $B$r%j%j!<%9(B
* EUC_JP, EUC_CN, MULE_INTERNAL $B$N(B regression test $B$rDI2C(B
(EUC_CN $B$N%G!<%?$O(B he@sra.co.jp $B$5$sDs6!(B)
* regexp $B$K$*$$$F!$(Bisalpha $B$J$I$K(B unsigend char $B0J30$NCM$,(B
$BEO$i$J$$$h$&$K%,!<%I$r$+$1$k(B
* $B1Q8l$N%I%-%e%a%s%H$rDI2C(B
* MB $B$rDj5A$7$J$$>l9g$KH/@8$9$k%P%0$r=$@5(B
1998/3/1 PL1 $B$r%j%j!<%9(B
$B0J>e!%(B