服务器端字符集为ZHS16GBK,但是nls_lang设置是什么?

解决方案 »

  1.   

    服务器端
    NLS_LANGUAGE=SIMPLIFIED CHINESE
    NLS_CHARACTERSET=ZHS16GBK
      

  2.   

    gz我也作过类似的东西,不过前台不是PB,但没有出现问题.我做的动作和你的差不多,应该不会有什么问题。服务器段和客户端一致就应该没问题了!!
      

  3.   

    NLS_lang使用zhs16cgb231280 试一下,按理说不应出现问题。如果依然不行,到数据库中检查一下你的系统字符集是什么,有可能你的oracle系统字符集不是中文的(系统字符集在安装oracle时指定)。建议你在客户端安装个sqlplus测试一下。
      

  4.   

    我重新安装oracle客户端,问题当然可以解决了,为什么我拷贝另外一台机器oracle目录下的文件再设置注册表就不行呢?而那台机器没有乱码问题
      

  5.   

    建议直接使用网上路径:
    \oracle\ora81\bin下的文件拷贝过来
    比如:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Oracle]
    "ORACLE_HOME"=网上共享的ORACLE地址另外,你如果在注册表中只修改这两个地方,应该不行,尽量再修改些。
    如果拷贝,不应该只拷贝bin下的东西,建议将注册表中ORACLE的地址指针直接指向网络ORACLE的共享目录。
      

  6.   

    为了验证你的客户端倒底是什么NLS_LANG
    请查询
    select * from nls_session_parameters (在客户端运行)
      

  7.   

    如果能执行select * from nls_session_parameters (在客户端运行),我一定是装了oracle的客户端了,安装客户端,也就不存在乱码问题了。执行结果为:
    NLS_LANGUAGE SIMPLIFIED CHINESE
    NLS_TERRITORY CHINA
    NLS_CURRENCY RMB
    NLS_ISO_CURRENCY CHINA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
    NLS_DUAL_CURRENCY RMB
    NLS_COMP BINARY
      

  8.   

    增加
    [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0]
    "PATH"="c:\\oracle\\ora81"
    "NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    试试看,要退出程序,重新进入
      

  9.   

    我曾经将一台机器上的oracle全部文件拷贝到另一台机器上,然后将注册表导入,没出现乱码,建议你当另一台机器上的oracle注册表export出来,然后在本机器上导入。应该没问题,除非你拷贝的文件中缺少 中文字符集的支撑文件。
      

  10.   

    jin0607(dd):你倒入的注册表是oracle的吗?能不能详细说说,都是那些项目?