Oracle新手笔记(2) 关于Oracle 9i或9i以上版本客户端连接Oracle 8i及8i版本以下服务器端中文字符乱码的解决办法...

在做项目过程中,遇到Oracle 9i或9i版本以上客户端连接Oracle 8i及8i版本以下服务器端时,查询出来的中文数据全部变成了乱码。经查询资料终于解决了乱码问题。

开发工具是ASP.NET(C#)+ Oracle,使用System.Data.OracleClient方式连接Oracle数据库。

解决办法一(第一项可以不执行,但要确保服务器端和客户端字符集一样)

 

1.       进入SQL PLUS 输入命令:select userenv('language') from dual; 查询字符集结果为

SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

2.     

 

开始-运行-键入regedit进入注册表,为以防万一,先备份注册表,然后找到HKEY_LOCAL_MACHINESOFTWAREORCALE,可以看到名称为NLS_LANG项,将其数据(键值)改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

3.     

 

ORACLE目录下,其他子目录,如有个HOMEO项,点击HOMEO,也可以看到NLS_LANG项,删除它。如有HOMEO1等等项,下面如有NLS_LANG项,均删除。

4.       关闭注册表。

5.       运行程序测试结果是否解决乱码问题。

6.       注意:可以先不执行第1项。但要确保客户端和服务器端字符集一样。

 

解决办法二:使用System.Data.Oledb方式连接,则可以直接避免中文乱码。

转载于:https://www.cnblogs.com/Mcnble/archive/2009/07/01/1514907.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值