关于C#,.net 访问oracle中文乱码问题

在使用C#和.NET访问Oracle数据库时遇到中文乱码问题,通过更改客户端字符集和调整连接字符串中的Provider,成功解决了问题。方案二是使用`System.Data.OleDb.OdbcConnection`和`Provider=MSDAORA.1`,确保客户端与服务器字符集一致,能有效避免中文乱码。
摘要由CSDN通过智能技术生成

   以前接触的都是SQLSERVER数据,现在的公司都用ORCALE,感觉很郁闷陌生,最近我用程序读取oracle数据库中数据时发现中文全部是乱码。于是我展开了一系列的办法最终解决了此问题。

   工作环境:服务器  windows 2003+ oracle。

                  服务器字符集 SIMPLIFIED CHINESE_CHINA.WE8DEC。

                  编程环境 VS2005,C#,PLSQL。

   方案一:

        利用System.Data.OracleClient.OracleConnection类访问数据库。

        连接字符串:   "Data Source= (DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.0.5)(PORT = 1521)))(CONNECT_DATA = (SID = DEV))) ;User Id=lswen;Password=1169"

        将本地字符集改为与服务器相同。

        打开注册表regdit:HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMEO  中NLS_LANG改为:   SIMPLIFIED CHINESE_CHINA.WE8DEC。

        这个方法简直就像噩梦,根本解决不了,网上有很多人发表用这种方法。答案是片面的,如果服务器的字符集是: ZHS16GBK那么此法就可以解决。字符集WE8DEC是西欧字符集本身包含的汉字就不多,之所以它允许用存入汉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值