1
- postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
1
+ postgresql 6.3.2 multi-byte (MB) support README 1998/5/25 $B:n@.(B
2
2
3
3
$B@P0fC#IW(B
4
4
t-ishii@sra.co.jp
@@ -9,8 +9,8 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
9
9
PostgreSQL $B$K$*$1$k%^%k%A%P%$%H%5%]!<%H$O0J2<$N$h$&$JFCD'$r;}$C$F$$$^$9!#(B
10
10
11
11
1.$B%^%k%A%P%$%HJ8;z$H$7$F!"F|K\8l!"Cf9q8l$J$I$N3F9q$N(B EUC$B!"(BUnicode$B!"(B
12
- mule internal code $B$,%3%s%Q%$%k;~$KA*Br2DG=!#%G!<%?%Y!<%9$K$O (B
13
- $B$3$N%3!<%I$N$^$^3JG<$5$l$^$9!#(B
12
+ mule internal code, ISO-8859-1 $B$,%3%s%Q%$%k;~$KA*Br2DG=!#(B
13
+ $B%G!<%?%Y!<%9$K$O $3$N%3!<%I$N$^$^3JG<$5$l$^$9!#(B
14
14
2.$B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B($B$?$@$7!"(BOS $B$,%^%k%A%P%$%H(B
15
15
$B$N%U%!%$%kL>$r5v$7$F$$$k$3$H$,I,MW(B)
16
16
3.$B%+%i%`L>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
@@ -19,6 +19,8 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
19
19
6.$B%^%k%A%P%$%HJ8;z$N(B LIKE $B8!:w$,;HMQ2DG=(B
20
20
7.character_length(), position(), substring() $B$G$N%^%k%A%P%$%H(B
21
21
$B%5%]!<%H(B
22
+ 8.$B4D6-JQ?t(B PGCLIENTENCODING $B$K$h$j!"%/%i%$%"%s%HB&$NJ8;z%3!<%I(B
23
+ $B$,%P%C%/%(%s%IB&$H0[$k>l9g$K!"<+F0E*$K%3!<%IJQ49$r9T$J$$$^$9!#(B
22
24
23
25
$B%$%s%9%H!<%k!'(B
24
26
$B%G%U%)%k%H$G$O(B PostgreSQL $B$O%^%k%A%P%$%H$r%5%]!<%H$7$F$$$^$;$s!#(B
@@ -46,6 +48,9 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
46
48
$B$9$J$o$A(B 0xffff $B$^$G$G$9!#(B
47
49
MULE_INTERNAL mule $B$NFbIt%3!<%I!#$?$@$7!"(BType N $B$NITDjD9J8;z$O(B
48
50
$B%5%]!<%H$7$F$$$^$;$s!#(B
51
+ LATIN1 ISO8859 Latin 1$B!#%7%s%0%k%P%$%H$J$s$G$9$1$I!"(B
52
+ $B;n$7$H$$$&$3$H$G(B:-)$B$A$J$_$K!"(BLATIN2 etc. $B$O(B
53
+ $BL$%5%]!<%H!#(B
49
54
50
55
$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
51
56
$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
@@ -64,13 +69,101 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
64
69
http://www.sra.co.jp/people/t-ishii/PostgreSQL/ $B$G$b4JC1$J%$%s%9%H!<(B
65
70
$B%kJ}K!$r>R2p$7$F$$$^$9!#(B
66
71
72
+ $B4D6-JQ?t(B PGCLIENTENCODING $B$K$D$$$F!'(B
73
+
74
+ $B%G%U%)%k%H$G$O!"%3%s%Q%$%k;~$K;XDj$7$?%5!<%PB&$NJ8;z%3!<%I$H!"(Bpsql
75
+ $B$J$I$N%/%i%$%"%s%HB&$NJ8;z%3!<%I$,0lCW$7$F$$$k$b$N$H8+Jo$5$l$^$9!#%5!<(B
76
+ $B%PB&$H0[$kJ8;z%3!<%I$r;H$$$?$$>l9g$O!"4D6-JQ?t(B PGCLIENTENCODING $B$r@_(B
77
+ $BDj$7$^$9!#@_Dj2DG=$JJ8;z%3!<%I$O!">e5-$K2C$(!"(BSJIS ($B%7%U%H(BJIS)
78
+ $B$,;XDj$G$-$^$9!#(B
79
+
80
+ $B$A$J$_$K!"(BSJIS $B$O(B JISX0201 $B$N(B 1$B%P%$%H%+%J!"$$$o$f$k!VH>3Q%+%?(B
81
+ $B%+%J!W$b%5%]!<%H$7$F$$$^$9(B($B7h$7$F!VH>3Q%+%?%+%J!W$N;HMQ$r$*4+(B
82
+ $B$a$7$F$$$k$o$1$8$c$J$$$G$9$,(B)$B!#(B
83
+
84
+ $B$?$H$($P!"(BMB=EUC_JP $B$G(B PostgeSQL $B$,%$%s%9%H!<%k$5$l$F$$$k>l9g!"(B
85
+ postmaster $B$rN)$A>e$2$k$H$-$K4D6-JQ?t(B PGCLIENTENCODING $B$K(B SJIS $B$r@_(B
86
+ $BDj$9$k$H!"%/%i%$%"%s%H$O(B SJIS $B%3!<%I$G(B PostgreSQL $B$K%"%/%;%9$G$-$k$h(B
87
+ $B$&$K$J$j$^$9!#$?$@$7!"%G!<%?%Y!<%9$K3JG<$5$l$k%G!<%?<+BN$O$"$/$^$G(B
88
+ MB $B$G;XDj$7$?(B EUC_JP $B$N$^$^$G$9!#(B
89
+
90
+ $B%/%i%$%"%s%HB&$G%;%C%7%g%sKh$KJ8;z%3!<%I$rJQ$($k$3$H$b$G$-$^$9!#(B
91
+ $B%;%C%7%g%s3+;O;~$K4D6-JQ?t(B PGCLIENTENCODING $B$,%;%C%H$5$l$F$$$k$H!"$=(B
92
+ $B$l$,M%@h$5$l$F%/%i%$%"%s%HB&$NJ8;z%3!<%I$K:NMQ$5$l$^$9!#$3$N5!G=$rMx(B
93
+ $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
94
+ $B%9$K%"%/%;%9$9$k$H$$$&$h$&$J$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B
95
+
96
+ MB=MULE_INTERNAL $B$G(B PostgreSQL $B$r%$%s%9%H!<%k$7$F$*$/$H!"IaCJ$O(B
97
+ EUC_JP $B$G%/%i%$%"%s%H$rMxMQ$7!"J#?t$NJ8;z=89g$r:.:_$5$;$k$H$-$@$1%/(B
98
+ $B%i%$%"%s%H$r(B MULE_INTERNAL $B$K@_Dj$9$k$J$I$N;H$$J,$1$,$G$-$FJXMx$G$9!#(B
99
+ $B$?$@!"0lHL$K(B EUC_JP $B$KHf$Y!"(BMULE_INTERNAL $B$K$h$k%G!<%?I=8=$O$d$d%9%Z!<(B
100
+ $B%9$r6t$&$N$G!"$=$N$X$s$O9MN8$7$F$*$/I,MW$,$"$j$^$9!#$?$H$($P!"(B2$B%P%$(B
101
+ $B%H$GI=8=$G$-$k4A;z$O(B MULE_INTERNAL $B$G$O(B 3$B%P%$%H$rMW$7$^$9!#(B
102
+
103
+ $BCm0U$7$F$*$/I,MW$,$"$k$N$O!"%5!<%PB&$NJ8;z%3!<%I$H%/%i%$%"%s%HB&$NJ8(B
104
+ $B;z%3!<%I$,$$$D$bAj8_JQ49$G$-$k$H$O8B$i$J$$$3$H$G$9!#6KC<$JOC!"%5!<%P(B
105
+ $BB&$,(B EUC_JP $B$J$N$K!"%/%i%$%"%s%HB&$,(B EUC_KR $B$@$C$?$i$I$&$J$k$G$7$g$&!#(B
106
+ $B$3$N>l9g(B PostgreSQL $B$OJQ49$G$-$J$$%3!<%I$r(B 16$B?JI=8=$KJQ49$7$F$7$^$$(B
107
+ $B$^$9!#$?$H$($P!"(B"(bdae)" $B$N$h$&$K!#$J$*!"$3$N(B 16$B?JI=8=$O(B mule
108
+ internalcode $B$N%3!<%I$G$"$k$3$H$KCm0U$7$F2<$5$$!#$3$l$O!"D>@\%/%i%$(B
109
+ $B%"%s%H(B <--> $B%5!<%P$NJ8;z%3!<%I$rJQ49$9$k$N$G$O$J$/!"0lEYFbItI=8=$G$"(B
110
+ $B$k(B mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!#(B
111
+
112
+ $B%/%i%$%"%s%HB&$NJ8;z%3!<%I$N@_Dj$O!"(B"set client_encoding" $B%3%^%s%I$G(B
113
+ $B$b2DG=$G$9!#$?$H$($P!"(B
114
+
115
+ set client_encoding to 'sjis';
116
+
117
+ $B$GL@<(E*$K%/%i%$%"%s%HB&$NJ8;z%3!<%I$r(B SJIS $B$K@_Dj$G$-$^$9!#<B:]!"%/(B
118
+ $B%i%$%"%s%H$,%5!<%P$K@\B3$9$k:]$K$O(B libpq $B$NCf$G(B "set
119
+ client_encoding" $B%3%^%s%I$rH/9T$7$F$$$^$9!#%;%C%7%g%sCf$K(B
120
+ set client_encoding" $B%3%^%s%I$rH/9T$9$l$P!"F0E*$KJ8;z%3!<%I$N@ZBX$((B
121
+ $B$,$G$-$^$9$,!"$=$N:]$K$O4D6-JQ?t(B PGCLIENTENCODING $B$rF1;~$K%/%i%$%"%s(B
122
+ $B%H%"%W%j%1!<%7%g%s$NCf$G@_Dj$7D>$9I,MW$,$"$j$^$9!#(B(psql $B$K$O8=:_$3$N(B
123
+ $B5!G=$,$J$$$?$a!";v<B>eF0E*$K%/%i%$%"%s%HB&$NJ8;z%3!<%I$r@_Dj$9$k$3$H(B
124
+ $B$,$G$-$^$;$s!#(B)
125
+
126
+ $B8=:_@_Dj$5$l$F$$$k%/%i%$%"%s%HB&$NJ8;z%3!<%I$O(B
127
+
128
+ show client_encoding;
129
+
130
+ $B$G;2>H$G$-$^$9!#$^$?!"(B
131
+
132
+ reset client_encoding;
133
+
134
+ $B$O!"%G%U%)%k%H$N%/%i%$%"%s%HJ8;z%3!<%I@_Dj$KI|5"$5$;$^$9!#(Bpostmaster
135
+ $B$rN)$A>e$2$k$H$-$K4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k$H$=$NJ8(B
136
+ $B;z%3!<%I$K!"$=$&$G$J$1$l$P%3%s%Q%$%k;~$K;XDj$7$?%5!<%PB&$NJ8;z%3!<%I(B
137
+ $B$HF1$8$K$J$j$^$9!#(B
138
+
139
+ $B@)8B;v9`!'(B
140
+
141
+ SJIS $B$r;HMQ$9$k>l9g!"(BPostgreSQL $B$N%/%i%$%"%s%H$G$^$H$b$KBP1~$7$F$$$k(B
142
+ $B$N$O(B psql $B$@$1$G$9!#(BTcl/Tk$B!"$=$N$[$+$OBP1~$7$F$^$;$s!#(B
143
+
67
144
$B<U<-!'(B
145
+
68
146
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
69
147
$B$N%a%s%P$NJ}$+$i%"%I%P%$%9$rD:$-$^$7$?!#$3$3$K46<U$7$^$9!#(B
148
+ $B$^$?!"(BSJIS $BBP1~$K$D$$$F$O!";T@n(B@$B$*CcBg$5$s$N%Q%C%A$r;29M$K$5$;$F$$(B
149
+ $B$?$@$-$^$7$?!#(B
70
150
71
151
$B2~DjMzNr!'(B
72
152
73
- 1998/4/21 $B5!G=DI2C!?%P%0=$@5(B
153
+ 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
154
+ $BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
155
+
156
+ 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
157
+ $BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
158
+ * $B4D6-JQ?t(B PGCLIENTENCODING $B$N%5%]!<%H!#%/%i%$%"%s%HB&$N(B
159
+ $BJ8;z%3!<%I$r;XDj$9$k!#8=:_!"(BSJIS, EUC_*, MULE_INTERNAL, LATIN1
160
+ $B$,;XDj$G$-$k!#$^$?!"(B
161
+ set client_encoding to 'sjis';
162
+ $B$G$b2DG=(B
163
+ * 8bit $BJ8;z$,EO$k$HLdBj$,5/$-$k2U=j$K$G$-$k$@$1BP1~(B
164
+
165
+ 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
166
+ $BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$F$$$k(B)
74
167
* character_length(), position(), substring() $B$N%^%k%A%P%$%H(B
75
168
$BBP1~(B
76
169
* octet_length() $BDI2C(B $B"*(B initdb $B$N$d$jD>$7I,MW(B
0 commit comments