sybase的中文问题(200分)

  • 主题发起人 主题发起人 rainbow
  • 开始时间 开始时间
R

rainbow

Unregistered / Unconfirmed
GUEST, unregistred user!
原来有一家软件公司我们开发了一个系统,
开发环境:
SERVER: AIX操作系统, SYBASE 11.
CLIENT: 采用sybase open client, win95/nt,Symantec visual coffe,
seagate crystal report. 其中几个表有中文信息,输入的中文在visual coffe编制的程序下显示正常,但在isql和crystal report下是乱码.
我现在要解决这个问题.
我的数据库平台:
SERVER端一样CLIENT: SYBASE OPEN CLIENT, WIN95/NT, DELPHI 3, SEAGATE CRYSTAL REPORT.
在安装Delphi有如下信息时,
Select Components
you hame selected both Sybase DB-Lib and CT-Lib drivers. Only
one of these drivers can be configured for the Borland Database
Engine at a time. Please select one:
Sybase CT-Lib Driver
sybase DB-Lib Driver
我选择的是CT-Lib Driver
在程序调试中发现,把原来数据库中有中文信息的表调出来,全是乱码.在我
的程序环境下把中文重输一遍.在isql,crystal report下也正常了,但在执行以下SQL时程序会死掉.
select * from sites where sname like 'A%'
其中sname是英文的
但 select * from sites却能正常运行.原来软件公司程序环境下查看中文信息也都变成乱码.

我重装Delphi, 这次选择的是DB-Lib Driver, 奇怪的是用我的程序查看原来在我的程序环境输入的中文都变成乱码, 用软件公司的程序输入的中文反而正常了!并且执行select * from sites where sname like 'A%'也不死了.

这是怎么回事, 我在中文win95, richwin+西文win95,cstar+西文win95都试过,结果一样,请各位高手指点.






 
我想可能是数据库的语言支持问题,你看一下数据库别名的语言设置(LANGDRIVER)
能不能改个中文或是远东文字的。
 
LANGDRIVER 设置为(手工写): ANSII850
就可以看到汉字了
 
BDE 的设置:

LANGDRIVER 设置为(手工写): ANSII850
就可以看到汉字了
 
相信那家软件公司在开发时安装delphi是DB-Lib Driver,所以你必须安装成DB-Lib Driver方式,据我所知,两种方式在处理字符方面有很大的区别。
 
对不起,应该说那家软件公司开发时用DB-Lib Driver方式,不是安装delphi
 
使用DB-Lib
你用DB-LIB输入的汉字只能用DB-LIB读,用CT-LIB输入的汉字只能用CT-LIB读。
SYBASE就是这样,不太爽。
你用CT-LIB输入的那部分没有办法了。

同时CT-LIB和DELPHI混用有其他问题。

我用SYBASE+DELPHI有好几年了。
 
多人接受答案了。
 
后退
顶部