数据库乱码(10分)

  • 主题发起人 主题发起人 patriot
  • 开始时间 开始时间
P

patriot

Unregistered / Unconfirmed
GUEST, unregistred user!
我们单位有一个服务器上装了sql2000,我读出的数据是乱码:
é?o£1tà??1£¨é??ú£?í¨
é??ú???üí¨????ê?óD?T1??
°2ì?êμòμ(1ú?ê)óD?T1??
怎样才能转化为汉字。。 各位帮帮忙阿,很急。。
 
详细情形是这样的:从fourth shift服务器上的SQL2k(E),显示为é??ú???üí¨????ê?óD?T1??
°2ì?êμòμ(1ú?ê)óD?T1??,但是从这个fourth shift软件界面里面看,显示一切正常。
从另外一台服务器上,通过ODBC访问,显示的代码还是é??ú???üí¨????ê?óD?T1??
°2ì?êμòμ(1ú?ê)óD?T1??,所以,在此求教各位,出出主意。
从技术支持的消息说,这是拉丁文字符集,通过ODBC访问显示会是正常的,但是事实上通过
ODBC访问,显示的还是老样子。

 
我遇到过这种问题。乱码原因在于你存数据库的时候使用的是varchar,
而你应该使用nvarchar作为字段类型,同时存取和现实必须使用nvarchar的方法。
我记得是加一个大写的N在字段的数值之前,具体你可以查Sql server的online help.
同时加装中文内码,在你的服务器上。这样你可以在服务器上看到这些数据。
请注意,原来的乱码是无法转化为正常汉字的。
sql server 需要小心对待,做任何事情之前必须先备份数据库。

 
SQL Server服务器的默认语言和数据库的语言不匹配,就出现这种问题。
而那个fourth shift支持数据库的语言,所以就能正确显示了。
 
我也碰到过这样的问题,但看起来好像不是VarChar的问题
因为同一台机器上,有好几个表结构相同的库
用sql2000查询分析器,有的库就会显示成乱麻,有的正常
在delphi的程序里显示都正常
难道时查询分析器的bug?

另外:sql70数据库下一切显示都正常,是不是2000的bug?
关注
 
后退
顶部