用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服务器。需要重启两次。第一次重启后会直接停止,需要启动第二次。或者:重新启动机器。 
   经过这些设定以后,乱码问题就解决了。

相关文章:

  • 2021-07-25
  • 2021-11-09
  • 2022-02-15
  • 2022-12-23
  • 2021-05-08
  • 2021-03-29
  • 2021-10-10
猜你喜欢
  • 2022-12-23
  • 2021-08-14
  • 2021-11-26
  • 2021-12-26
  • 2021-10-16
  • 2022-12-23
  • 2021-07-17
相关资源
相似解决方案