凝望长空 发表于 2011-06-07 15:32

Sybase ASE ADO.NET驱动 乱码问题解决

Sybase ASE ADO.NET驱动 乱码问题解决

 用Sybase的Ado.NET驱动进行数据库连接的时候,有时候会出现中文乱码的情况。而OLEDB的驱动就一点问题都没有。可见Ado.NET的驱动还需要进一步完善啊..
  Sybase的默认的安装字符集选了ISO_1,结果装好数据库以后,发现在SQL Advantage里面执行SELECT语句,查询的结果里面中文内容正常!用c#写的代码读出的中文内容,乱码。
  通过查资料,得到的解决办法就是:安装CP936字符集!
  处理步骤:(假设安装目录是c:\sybase)
  1:cmd命令行状态下:   
   1. c:\>cd \sybase\charsets\cp936
   2. c:\sybase\charsets\cp936> charset -Usa -P -S binary.srt cp936
         
  2:在SQL Advantage中
          1>select id from syscharsets where name='cp936'
          2>go
    把选择出来的id(我得出来的是171,网上好多人得到的也是171,如果你的不是171,就用你选择出来的值)然后:
    1>sp_configure "default character set id",171
  3:重启Sybase服务器。需要重启两次。第一次重启后会直接停止,需要启动第二次。或者:重新启动机器。
   经过这些设定以后,乱码问题就解决了。
页: [1]
查看完整版本: Sybase ASE ADO.NET驱动 乱码问题解决