</p> 20 rows selected.
0 \) c c& m9 P& ?% X9 B! E5 N windows客户机上:, K: X$ h* C4 M) y! ^/ S% G1 }
H:UsersLuoTaoyang>chcp: ?& P! H' }8 b- ]) y
勾今世码页: 936
; K5 p3 n: L% m6 A' b. D9 c H:UsersLuoTaoyang>set NLS_LANG=American_America.ZHS16GBK
) N# w& i. ~: c7 x SQL> DESC chartest;
# t& B) V, K h- v Name Null? Type----------------------------------------- -------- ----------------------------. u) ]: r+ n/ D3 A
ID NUMBER(38)9 V( j2 X1 U E
NAME VARCHAR2(20)
) ]- I3 E. k' \9 e SQL> insert into chartest values(1,'123你好吗ABC');/ G: Q% j) e1 O& t. Z# o- i
1 row created.
, {; u$ P i( m- O5 r SQL> SELECT * from chartest;$ ]& F" Y8 ?+ N$ n; i8 |* Y& P
ID NAME( C! F6 H2 }/ p8 Q* t
---------- ----------------------------------------
3 @3 D( H" D- L8 D( U 1 123你好吗ABC
0 c* a' T, }- v& I' F- I! [% b SQL> select id,dump(name,1016) from chartest;
* ]6 v9 B: p* S A3 \+ X3 x3 E ID
2 b4 _2 }: D1 U ----------$ C0 @( G; j' y: o% B; I. m( f; {+ V
DUMP(NAME,1016); E) N3 @& A; W
--------------------------------------------------------------------------------
U1 ^$ C/ H: X3 U! z0 t& t 1+ y3 R/ b) Z2 A
Typ=1 Len=15 CharacterSet=AL32UTF8: 31,32,33,e4,bd,a0,e5,a5,bd,e5,90,97,41,42,430 M! @9 I# j" n; @9 a
#‘123你好吗ABC’在ZHS16GBK字符集下16进制代码为:31 32 33 C4 E3 BA C3 C2 F0 41 42 43,之所以跟Oracle存储的分歧时因为客户端字符集(ZHS16GBK)与Oracle主字符集(AL32UTF8)分歧,Oracle在底层发生字符集转换的原因。
2 J9 ~8 l( O& d" F, E H:UsersLuoTaoyang>set NLS_LANG=American_America.AL32UTF8
& g: t4 Z' p! f" C SQL> select * from chartest;
* }- q( F2 C! `1 q" l ID NAME
6 l& H* |4 S; ^) ^, s ---------- --------------------
* p7 W. \2 e8 _6 o5 X" D 1 123浣犲ソ鍚桝BC5 N) H3 R3 @4 v7 M3 I
#呈锨氚搽是因为此时Oracle客户端字符集与Oracle主字符集不异,Oracle不贰生字符集转换。但在windows下依然用字符集(ZHS16GBK)显示。 |