这是select * from nls_database_parameters查询结果
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8ISO8859P9
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
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 TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 9.2.0.1.0"这是select * from nls_instance_parameters查询结果"
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_SORT
NLS_DATE_LANGUAGE
NLS_DATE_FORMAT
NLS_CURRENCY
NLS_NUMERIC_CHARACTERS
NLS_ISO_CURRENCY
NLS_CALENDAR
NLS_TIME_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
NLS_DUAL_CURRENCY
NLS_COMP
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
我还把注册表中的NLS_LANG的值,服务器上,还是我的机器上都改成WE8ISO8859P9这个值...改成其它值都试过.不知道为什么都是查处来的数据是乱码...强高手帮忙

解决方案 »

  1.   

    client 与server字符集是否一致?
      

  2.   

    还有个session的,
    select * from nls_session_parameters
    一般,哪进哪出,都是正常的。
    但换了地方,就可能乱码。
    你要先知道这些DATA是从哪里来的,然后再根据那的字符集转换。
      

  3.   

    一楼说的发表于:2008-05-26 18:59:091楼 得分:0 
    client 与server字符集是否一致? 
     
    是不是就是服务器和我机器上的注册表中的NLS_LANG的值是否相等啊.这个值是相等的不知道,还需要什么值需要一样...2楼的不知道什么意思,需要改什么地方
      

  4.   

    这是select * from nls_database_parameters查询结果
     
    NLS_LANGUAGE AMERICAN <<===================== 
    NLS_TERRITORY AMERICA 
    NLS_CURRENCY $ 
    NLS_ISO_CURRENCY AMERICA 
    NLS_NUMERIC_CHARACTERS ., 
    NLS_CHARACTERSET WE8ISO8859P9 <<================== 
    NLS_CALENDAR GREGORIAN 
    ....
    ===========================================================
    你的数据库根本就不能保存汉字,重新建库,注意选择正确的字符集。
      

  5.   

    数据库的字符集应该设置成utf8的吧
      

  6.   

    更改字符集命令。
    alter session language