• 【转】关于Oracle 9i或9i以上版本客户端连接Oracle 8i及8i版本以下服务器端中文字符乱码的解决办法


    【转】关于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方式连接,则可以直接避免中文乱码。

    原文:http://www.cnblogs.com/mcnble/archive/2009/07/01/1514907.html

  • 相关阅读:
    windows下cmd命令行上传代码到github的指定库
    Navicat Premium 12.1.11.0安装与激活
    windows部署Apollo
    C#事件-使用事件需要的步骤
    C#委托和事件
    C#事件委托概念
    C#中委托和事件的区别
    C#委托与事件
    C#细说多线程
    C# 堆栈(Stack)和队列(Queue)
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1634783.html
Copyright © 2020-2023  润新知