系统情况:
系统: Linux RH
数据库: DB2 V9.5
系统设置为中文模式(LANG=zh_CN.gbk), 中文字符能正确显示无乱码.
创建数据库chinese, 配置如下:
Database territory =CN
Database code page =1386
Database code set =86
Database country/region code =unique
实例的字符集也为1386(DB2CODEPAGE=1386)
问题 1 描述:
我在Linux打开一个terminal, 连接数据库并查询数据, 如果将terminal的字符编码设置为默认的GBK,显示中文字符没有任何问题,但是如果把字符编码设置为UTF-8则出现乱码; 如果我将实例的字符集设为UTF-8(DB2CODEPAGE=1208), 则情况相反,UTF-8能正常显示中问字符, GBK不能. 按照我的理解GBK和UTF-8之间的转码不应该有问题,所以不管我将terminal的字符编码设置为UTF-8还是GBK, 都应该能正常显示中文. 请赐教, 谢谢:)
问题 2 描述:
DB2的字符集设置有三个层次:
1. 操作系统级别
2. 实例级别
3. 数据库级别
我不太了解实例级别设置的意义, 假设我用Windows英文系统的命令窗口连接Database Server 并读取数据, 这个过程中要发生几次转码?
(server字符集设置如下: 数据库GBK, 实例UTF-8,操作系统为GBK)
(Windows系统的语言设置为中文)
是不是先从GBK转到UTF-8再转......................................请赐教,谢谢:):)
收起