D7+ZEOS(6.6.4版本)连接postgresql 8.3,能够连接,读到数据。
但凡是数据库BIT类型的都过滤了。如果:select * from table1返回的数据集中,凡是BIT类型的列都没有显示在DBGRID或ZQUYER的字段列表中.是否是ZEOS的BUG? 还是有其它设置,请高手指点!!
但凡是数据库BIT类型的都过滤了。如果:select * from table1返回的数据集中,凡是BIT类型的列都没有显示在DBGRID或ZQUYER的字段列表中.是否是ZEOS的BUG? 还是有其它设置,请高手指点!!
解决方案 »
- 时间查询问题.
- 这几天海淀书城外面有打折书,很便宜(促销到5号),我买了一本《D5程序员编程指南》花了20,高兴死了!不过没有光盘:(
- Word问题???急.....在线等.....
- 关于 TWebBrowser 和 IWebBrowser2
- 请教有关手机编程的软件和网站?
- delphi 6与delphi 5间的转换,高分求教!
- 数据库和TreeView1 和ListView连接 请教!
- ADOQuery提取记录集后过滤问题???
- 请教高手:开面设计怎么开发(如CAD)?或此类控件?
- SQL Server7中能否用varchar替代nvarchar?以后会不会出问题?
- FileStream错在哪里?
- 还是动态删除的问题55555555555555555555555555555
用ODBC是可以连接,但我的数据库需要比较特殊。
我之前的数据是存放在MS SQL的,简体的数据库,但数据是繁体BIG5码的。
我在简体将这些数据迁移到LINUX下的postgresql8.3 ,简体电脑运行程序看编码正常,
繁体机就乱码了。我需要用zeoslib连接一个新的数据库(可以强制设置CODEPAGE=BIG5),用ODBC连接现有的数据库,
再将数据迁移一次,那么在ODBC下,繁简都正常。用ODBC的话,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就正常了。