C#连接Oracle数据库乱码问题

折腾了我好久,

首先,你要是有权限去更改数据库的设置,那么问题就不存在了。可是大多数情况下数据库设置是不能变的,因为别的程序可能也在取这个数据库的数据,那么只有从客户端自己动手了。。。

最初用的是System.Data.OracleClient, 连接字符串是:

<add name="sms" connectionString="user id=uid;data source=mydb;password=pwd;Unicode=False" providerName="System.Data.OracleClient" />

其中,Unicode=False那一截不过是自我安慰,不管有没有加,用这种方式进行的新增/修改和查询,中文全部乱码;

然后据说OLEDB的方式可以,连接字符串是:

"Provider=OraOLEDB.Oracle;Data Source=mydb;User Id=uid;Password=pwd;Unicode=False"

这时看到了一半希望,查询可以显示正确的中文字符,但是新增和修改还是不行,同样unicode这一节也形同虚设。

最后 ,provider再换一下,解决问题:

"Provider=MSDAORA;Data Source=mydb;User Id=uid;Password=pwd;Unicode=False"
原文地址:https://www.cnblogs.com/walkerwang/p/2099244.html