mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-24 15:17:19 +02:00
From: t-ishii@sra.co.jp Attached are patches to enhance the multi-byte support. (patches are against 7/18 snapshot) * determine encoding at initdb/createdb rather than compile time Now initdb/createdb has an option to specify the encoding. Also, I modified the syntax of CREATE DATABASE to accept encoding option. See README.mb for more details. For this purpose I have added new column "encoding" to pg_database. Also pg_attribute and pg_class are changed to catch up the modification to pg_database. Actually I haved added pg_database_mb.h, pg_attribute_mb.h and pg_class_mb.h. These are used only when MB is enabled. The reason having separate files is I couldn't find a way to use ifdef or whatever in those files. I have to admit it looks ugly. No way. * support for PGCLIENTENCODING when issuing COPY command commands/copy.c modified. * support for SQL92 syntax "SET NAMES" See gram.y. * support for LATIN2-5 * add UNICODE regression test case * new test suite for MB New directory test/mb added. * clean up source files Basic idea is to have MB's own subdirectory for easier maintenance. These are include/mb and backend/utils/mb.
237 lines
11 KiB
Plaintext
237 lines
11 KiB
Plaintext
postgresql 6.4 multi-byte (MB) support README 1998/7/22 $B:n@.(B
|
||
|
||
$B@P0fC#IW(B
|
||
t-ishii@sra.co.jp
|
||
http://www.sra.co.jp/people/t-ishii/PostgreSQL/
|
||
|
||
$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-1 $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!"%/%i%$%"%s%HB&$NJ8;z%3!<%I(B
|
||
$B$,%P%C%/%(%s%IB&$H0[$k>l9g$K!"<+F0E*$K%3!<%IJQ49$r9T$J$$$^$9!#(B
|
||
|
||
$B%$%s%9%H!<%k!'(B
|
||
|
||
$B%G%U%)%k%H$G$O(B PostgreSQL $B$O%^%k%A%P%$%H$r%5%]!<%H$7$F$$$^$;$s!#(B
|
||
$B%^%k%A%P%$%H%5%]!<%H$rM-8z$K$9$kJ}K!$r@bL@$7$^$9!#(B
|
||
|
||
src/Makefile.custom $B$H$$$&%U%!%$%k$r:n$j!"(B
|
||
|
||
MB=EUC_JP
|
||
|
||
$B$N(B 1 $B9T$rDI2C$7$^$9!#$"$k$$$O!"(Bconfigure $B5/F0;~$K0J2<$N$h$&$K;XDj$7$^$9!#(B
|
||
|
||
% configure --with-mb=EUC_JP
|
||
|
||
$BJ8;z%3!<%I$H$7$F$O(B EUC_JP $B$r4^$a!"0J2<$N%3!<%I$,(B initdb $B$K$h$k(B
|
||
$B%G!<%?%Y!<%9=i4|2=;~$*$h$S%G!<%?%Y!<%9:n@.;~(B
|
||
(Unix $B%3%^%s%I$N(B createdb $B$b$7$/$O(B SQL $B$N(B create database)
|
||
$B$K;XDj$G$-$^$9!#(BMakefile.custom $B$"$k$$$O(B configure $B$G;XDj$7$?J8;z%3!<(B
|
||
$B%I$O(B initdb $B$N>JN,;~$NJ8;z%3!<%I$K$J$j$^$9!#(B
|
||
|
||
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
|
||
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
|
||
LATIN* ISO8859 Latin $B%7%j!<%:!#(B* $B$O(B 1 $B$+$i(B 5 $B$^$G;XDj(B
|
||
$B$G$-$^$9!#%7%s%0%k%P%$%H$J$s$G$9$1$I!"(B
|
||
$B;n$7$H$$$&$3$H$G(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$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
|
||
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$kJ8;z%3!<%I$N;XDj$K$D$$$F(B
|
||
|
||
initdb $B$G$O0J2<$N%*%W%7%g%s$GJ8;z%3!<%I$,;XDj$G$-$^$9!#(B
|
||
|
||
-e $BJ8;z%3!<%I(B
|
||
-pgencoding $BJ8;z%3!<%I(B
|
||
|
||
$B$3$3$G;XDj$7$?J8;z%3!<%I$O!"0J8e(B createdb/create database $B$GJ8;z%3!<%I$r(B
|
||
$B>JN,$7$?>l9g$K@_Dj$5$l$kJ8;z%3!<%I$K$J$j$^$9!#(B-e $B$^$?$O(B -pgencoding
|
||
$B%*%W%7%g%s$r>JN,$7$?>l9g$O!"(BMakefile.custom $B$"$k$$$O(B configure $B$G;X(B
|
||
$BDj$7$?J8;z%3!<%I$,:NMQ$5$l$^$9!#(B
|
||
|
||
createdb $B$G$O0J2<$N%*%W%7%g%s$GJ8;z%3!<%I$,;XDj$G$-$^$9!#(B
|
||
|
||
-E $BJ8;z%3!<%I(B
|
||
|
||
create database $B$G$O0J2<$N%*%W%7%g%s$GJ8;z%3!<%I$,;XDj$G$-$^$9!#(B
|
||
|
||
CREATE DATABASE dbanme WITH ENCODING = '$BJ8;z%3!<%I(B';
|
||
|
||
LOCATION $B$rF1;~$K;XDj$9$k>l9g$O0J2<$N$h$&$K$J$j$^$9!#(B
|
||
|
||
CREATE DATABASE dbanme WITH LOCATION = 'path' ENCODING = '$BJ8;z%3!<%I(B';
|
||
|
||
createdb/create database $B$O!"J8;z%3!<%I;XDj$r>JN,$7$?>l9g$O!"(Binitdb
|
||
$B$G;XDj$7$?J8;z%3!<%I$,:NMQ$5$l$^$9!#(B
|
||
|
||
$B4D6-JQ?t(B PGCLIENTENCODING $B$K$D$$$F!'(B
|
||
|
||
$B4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$J$$>l9g!"(Blibpq $B$O%;%C%7%g%s(B
|
||
$B3+;O;~$K%5!<%PB&$KJ8;z%3!<%I$rLd$$9g$o$;!"$=$NCM$r4D6-JQ?t(B
|
||
PGCLIENTENCODING $B$K@_Dj$7$^$9!#(B
|
||
|
||
$B4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k>l9g$O$=$NCM$,M%@h$5$l!"%5!<(B
|
||
$B%PB&$H0[$J$kJ8;z%3!<%I$,;HMQ$G$-$^$9!#@_Dj2DG=$JJ8;z%3!<%I$O!">e5-$K(B
|
||
$B2C$(!"(BSJIS ($B%7%U%H(BJIS)$B$,;XDj$G$-$^$9!#(B
|
||
|
||
$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
|
||
|
||
$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!"%/%i%$%"%s%H$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
|
||
|
||
$B%/%i%$%"%s%HB&$G%;%C%7%g%sKh$KJ8;z%3!<%I$rJQ$($k$3$H$b$G$-$^$9!#(B
|
||
$B%;%C%7%g%s3+;O;~$K4D6-JQ?t(B PGCLIENTENCODING $B$,%;%C%H$5$l$F$$$k$H!"$=(B
|
||
$B$l$,M%@h$5$l$F%/%i%$%"%s%HB&$NJ8;z%3!<%I$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
|
||
|
||
MB=MULE_INTERNAL $B$G(B PostgreSQL $B$r%$%s%9%H!<%k$7$F$*$/$H!"IaCJ$O(B
|
||
EUC_JP $B$G%/%i%$%"%s%H$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
|
||
|
||
$BCm0U$7$F$*$/I,MW$,$"$k$N$O!"%5!<%PB&$NJ8;z%3!<%I$H%/%i%$%"%s%HB&$NJ8(B
|
||
$B;z%3!<%I$,$$$D$bAj8_JQ49$G$-$k$H$O8B$i$J$$$3$H$G$9!#6KC<$JOC!"%5!<%P(B
|
||
$BB&$,(B EUC_JP $B$J$N$K!"%/%i%$%"%s%HB&$,(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>@\%/%i%$(B
|
||
$B%"%s%H(B <--> $B%5!<%P$NJ8;z%3!<%I$rJQ49$9$k$N$G$O$J$/!"0lEYFbItI=8=$G$"(B
|
||
$B$k(B mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!#(B
|
||
|
||
$B%/%i%$%"%s%HB&$NJ8;z%3!<%I$N@_Dj$O!"(B"set client_encoding" $B%3%^%s%I$G(B
|
||
$B$b2DG=$G$9!#$?$H$($P!"(B
|
||
|
||
set client_encoding to 'sjis';
|
||
|
||
$B$GL@<(E*$K%/%i%$%"%s%HB&$NJ8;z%3!<%I$r(B SJIS $B$K@_Dj$G$-$^$9!#<B:]!"%/(B
|
||
$B%i%$%"%s%H$,%5!<%P$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*$KJ8;z%3!<%I$N@ZBX$((B
|
||
$B$,$G$-$^$9$,!"$=$N:]$K$O4D6-JQ?t(B PGCLIENTENCODING $B$rF1;~$K%/%i%$%"%s(B
|
||
$B%H%"%W%j%1!<%7%g%s$NCf$G@_Dj$7D>$9I,MW$,$"$j$^$9!#(B(psql $B$K$O8=:_$3$N(B
|
||
$B5!G=$,$J$$$?$a!";v<B>eF0E*$K%/%i%$%"%s%HB&$NJ8;z%3!<%I$r@_Dj$9$k$3$H(B
|
||
$B$,$G$-$^$;$s!#(B)
|
||
|
||
$B8=:_@_Dj$5$l$F$$$k%/%i%$%"%s%HB&$NJ8;z%3!<%I$O(B
|
||
|
||
show client_encoding;
|
||
|
||
$B$G;2>H$G$-$^$9!#$^$?!"(B
|
||
|
||
reset client_encoding;
|
||
|
||
$B$O!"%G%U%)%k%H$N%/%i%$%"%s%HJ8;z%3!<%I@_Dj$KI|5"$5$;$^$9!#(Bpostmaster
|
||
$B$rN)$A>e$2$k$H$-$K4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k$H$=$NJ8(B
|
||
$B;z%3!<%I$K!"$=$&$G$J$1$l$P%3%s%Q%$%k;~$K;XDj$7$?%5!<%PB&$NJ8;z%3!<%I(B
|
||
$B$HF1$8$K$J$j$^$9!#(B
|
||
|
||
$B@)8B;v9`!'(B
|
||
|
||
SJIS $B$r;HMQ$9$k>l9g!"(BPostgreSQL $B$N%/%i%$%"%s%H$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<U<-!'(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
|
||
|
||
$B2~DjMzNr!'(B
|
||
|
||
1998/7/22 6.4 $B&A8~$1$K%Q%C%A$r%j%j!<%9!#(B
|
||
* initdb/createdb/create database $B$G%5!<%PB&$NJ8;z%3!<%I$r@_Dj(B
|
||
$B$G$-$k5!G=<BAu!#$3$N$?$a!"%7%9%F%`%+%?%m%0$N(B pg_database $B$K(B
|
||
$B?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!#%/%i%$%"%s%HB&$N(B
|
||
$BJ8;z%3!<%I$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
|