C#读取Sybase数据库中文乱码解决日记

本文记录了解决C#程序通过AseClient连接Sybase数据库时出现中文乱码的问题。通过安装CP936字符集并进行配置设置,包括在命令行中执行charset命令和在SQL环境下修改默认字符集,最后重启机器,成功解决乱码问题。
摘要由CSDN通过智能技术生成

         首先,感慨一下,Sybase比较恶心!

          我用的是AseClient连接Sybase, 这个包有3个文件,要在安装Sybase的时候, 选择安装选项ADO.net,

安装完Sybase后,安装目录下会有个ADO.net子目录 , ADO.net/dll  目录下有3个dll文件, 就是.NET连接数据库

必需的3个文件!   记得引用Sybase.Data.AseClient.dll  . 编程模式和使用OracleClient一样!这里不多说!

           Sybase的默认的安装字符集选了ISO_1,结果装好数据库以后,发现在SQL Advantage里面执行SELECT

语句,查询的结果里面中文内容正常!用c#写的代码读出的中文内容,阿拉怎么看都不明白!是乱码!

            怎么办,查了半天资料,发现有个解决办法有用!

            就是:安装CP936字符集!

            处理步骤:  (假设安装目录是c:/sybase)

              STEP1:cmd命令行状态下:  

             1.c:/>cd /sybase/charsets/cp936
          2.c:/sybase/charsets/cp936> charset -Usa -P -S binary.srt cp936 
         

          STEP2.在SQL环境中
          1>select name,id from syscharsets
          2>go
         找到name为cp936对应的id(假设为171)
         .1>sp_configure "default character set id",171

          STEP3:

          绝招:重新启动机器!

           执行我的C#程序,中文字符没有乱码罗!   解决!


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值