在客户端写数据库时,保存到数据库中指定的字段为乱码,而在数据库服务器上写时,则正常,请问这是怎么回事?有没有哪位高手碰到过这情况或知道这情况?

解决方案 »

  1.   

    查客户端注册表
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0
    的NLS_LANG的值,它的格式为:
    SIMPLIFIED CHINESE_CHINA.ZHS16GBK 
    另外,用sqlplus连到服务器
    以管理员身份执行
    select name,substr(value$,1,30) from sys.props$ 
    查:
    NLS_LANGUAGE  
    NLS_TERRITORY 
    NLS_CHARACTERSET   
    是否与客户端注册表一致
    估计是客户端注册表被改,改为正确的就可以
    (如果你的服务器也是windows平台,将服务器的注册表的nls_lang写到客户端的nls_lang就应该可以了)