折腾了我好久,
首先,你要是有权限去更改数据库的设置,那么问题就不存在了。可是大多数情况下数据库设置是不能变的,因为别的程序可能也在取这个数据库的数据,那么只有从客户端自己动手了。。。
最初用的是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"