创建了两个db,分别utf8和gbk,然后用db2dart 看怎么存的,如下。UTF8:db2 "create table tab1 (c1 int, c2 varchar(10))"db2 "insert into tab1 values(1,'我们')"db2 "insert into tab1 values(2,'你们')"db2 "insert into tab1 values(3,'他们')"db2 "insert into tab1 valu...
显示全部创建了两个db,分别utf8和gbk,然后用db2dart 看怎么存的,如下。
UTF8:db2 "create table tab1 (c1 int, c2 varchar(10))"
db2 "insert into tab1 values(1,'我们')"
db2 "insert into tab1 values(2,'你们')"
db2 "insert into tab1 values(3,'他们')"
db2 "insert into tab1 values(4,'孩们')"
db2 "insert into tab1 values(5,'呦呦')"
db2 "insert into tab1 values(6,'组合')"
->db2 "SELECT * from tab1 order by c2 desc"
C1 C2
----------- ----------
6 组合
1 我们
4 孩们
5 呦呦
2 你们
3 他们
6 record(s) selected.
->db2 "SELECT * from tab1 order by COLLATION_KEY_BIT(c2, 'UCA500R1_LZH_AN_CX_EX_FX_HX_NX_S3') desc"
C1 C2
----------- ----------
6 组合
5 呦呦
1 我们
3 他们
2 你们
4 孩们
6 record(s) selected.
db2dart d1014 /dd /tsi 3 /oi 4 /ps 0 /np 10 /v y /rptn haha.utf.dart2
364 Column 1:
365 Fixed offset: 0
366 Type is Long Integer
367 Value = 5
368
369 Column 2:
370 Fixed offset: 5
371 Type is Variable Length Character String
372 Length = 6 Offset = 10
373 E591A6E5 91A6 ......
=====> 这是“呦呦” 387 Column 1:
388 Fixed offset: 0
389 Type is Long Integer
390 Value = 6
391
392 Column 2:
393 Fixed offset: 5
394 Type is Variable Length Character String
395 Length = 6 Offset = 10
396 E7BB84E5 9088 ......
=====> 这是“组合”GBK:->db2 "SELECT * from tab1 order by c2 desc"
C1 C2
----------- ----------
5 呦呦
6 组合
1 我们
3 他们
2 你们
4 孩们
6 record(s) selected.
->db2 "SELECT * from tab1 order by COLLATION_KEY_BIT(c2, 'UCA500R1_LZH_AN_CX_EX_FX_HX_NX_S3') desc"
C1 C2
----------- ----------
6 组合
5 呦呦
1 我们
3 他们
2 你们
4 孩们
6 record(s) selected.
364 Column 1:
365 Fixed offset: 0
366 Type is Long Integer
367 Value = 5
368
369 Column 2:
370 Fixed offset: 5
371 Type is Variable Length Character String
372 Length = 4 Offset = 10
373 DFCFDFCF ....
=====> 这是“呦呦” 387 Column 1:
388 Fixed offset: 0
389 Type is Long Integer
390 Value = 6
391
392 Column 2:
393 Fixed offset: 5
394 Type is Variable Length Character String
395 Length = 4 Offset = 10
396 D7E9BACF ....
=====> 这是“组合”这样我们就可以看到DB2是怎么保存中文的了。
并且,排序的话看起来是按照编码后的字符顺序。
UTF:
1 E68891E4 BBAC
2 E4BDA0E4 BBAC
3 E4BB96E4 BBAC
4 E5ADA9E4 BBAC
5 E591A6E5 91A6
6 E7BB84E5 9088
6 组合
1 我们
4 孩们
5 呦呦
2 你们
3 他们
GBK:
1 CED2C3C7
2 C4E3C3C7
3 CBFBC3C7
4 BAA2C3C7
5 DFCFDFCF
6 D7E9BACF
5 呦呦
6 组合
1 我们
3 他们
2 你们
4 孩们
收起