日期:2014-05-16  浏览次数:20548 次

由DB2的CODEPAGE引起的中文乱码问题

问题是这样的,需要往一个CODEPAGE为819格式的DB2数据库中插入中文,在创建数据库的时候已经制定了CODEPAGE:

db2 create db TESTDB USING CODESET ISO8859-1 TERRITORY US COLLATE USING SYSTEM PAGESIZE 4096;

?

数据库脚本SQL文件是用UTF8编码的格式存贮的,但是插入数据库之后发现全部中文部分都是空白,(注意不是乱码),之前有遇到过中文乱码问题,但是这种空白的问题还是头次遇到,中间也尝试了google的各种结果,均没有结果。

?

后来在一位高人的指导下,被提醒查一下数据库instance的CODEPAGE,果然后来一查该实例没有设置CODEPAGE这个变量,在将该实例CODEPAGE设为819之后,中文字符变白的问题就解决了。

?

db2set DB2CODEPAGE=819
?