D7+ZEOS(6.6.4版本)连接postgresql 8.3,能够连接,读到数据。
但凡是数据库BIT类型的都过滤了。如果:select * from  table1返回的数据集中,凡是BIT类型的列都没有显示在DBGRID或ZQUYER的字段列表中.是否是ZEOS的BUG?  还是有其它设置,请高手指点!!

解决方案 »

  1.   

    不知道ZEOS这个东东是什么,刚才我用delphi直接用ODBC连接了下postgresql 没问题
      

  2.   

    谢谢关注!zeos ->zeoslib 是第三方的开源免费控件,可以连接mysql,postgresql等
    用ODBC是可以连接,但我的数据库需要比较特殊。
    我之前的数据是存放在MS SQL的,简体的数据库,但数据是繁体BIG5码的。
    我在简体将这些数据迁移到LINUX下的postgresql8.3 ,简体电脑运行程序看编码正常,
    繁体机就乱码了。我需要用zeoslib连接一个新的数据库(可以强制设置CODEPAGE=BIG5),用ODBC连接现有的数据库,
    再将数据迁移一次,那么在ODBC下,繁简都正常。用ODBC的话,POSTGRESQL是utf8编码的是根据机的不同,自动转换成系统的内码页,没有办法指定。
      

  3.   

    改变数据库的字符编码行吗?或者你建立数据源时选择Postgres Unicode 试试
      

  4.   

    谢谢各位支持!postgresql 的数据已经是UTF8 编码的了。
    因为我在MS SQL是繁体的BIG编码,但转资料的系统简体的,并且通过ODBC传送的。
    经过我多次的测试,我认为是ODBC自动的对编码转换了,从MS SQL到POSTGRESQL 
    是认为是GB(实质的数据是BIG5)->UTF8,同样的,现在系统运行,ODBC又是UTF8->GB (这两个过成一来一往,数据的编码就没有变)。
    这样,靠DELPHI的数据控件将字体设置成BIG5码的(设置成GB或DEFAULT是不行的),那么在简体下是正常的,。同理,在繁体的系统下,ODBC是UTF8->BIG5,那肯定是乱码了。因此,我现在必须把现有的数据正确转为UTF8,这个对了后,ODBC下UTF8->GB或UTF8->BIG5的都正常和将DELPHI的数据控件设置成DEFAULT就正常了。