装的是oracle 10 
select userenv('language') from dual
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1在windows用sql developer 手动插入乱码
字段类型 varchar2
linux上的oracle服务器用oracle用户sqlplus插入也是乱码

解决方案 »

  1.   

    可以使用如下语句查看oracle字符集参数:
    SELECT  * FROM  v$nls_parameters; 
    看服务器端字符集是否有问题,不支持中文.
      

  2.   


    1.怎么样查看数据库字符集
      1.1查看数据库服务器字符集(来源于props$表,sysdba身份可以查看此表):
    select lower(parameter),lower(value) from nls_database_parameters;
    LOWER(PARAMETER)               LOWER(VALUE)
    ------------------------------ ----------------------------------------------
    nls_language                   american
    nls_territory                  america
    nls_currency                   $
    nls_iso_currency               america
    nls_numeric_characters         .,
    nls_characterset               zhs16gbk
    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              10.1.0.2.0
      1.2查看客户端字符环境(来源于v$parameter):
    select lower(parameter),lower(value) from nls_instance_parameters; LOWER(PARAMETER)                     LOWER(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
      1.3查看会话字符集环境(来源v$nls_parameters):
    select lower(parameter),lower(value) from nls_session_parameters; LOWER(PARAMETER)                   LOWER(VALUE)
    ---------------------------------- --------------------------------------
    nls_language                       simplified chinese
    nls_territory                      china
    nls_currency                       ¥
    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 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
    2.修改字符集
      alter database来修改字符集,但也只限于子集到超集,不建议修改props$表。
      SQL>SHUTDOWN IMMEDIATE;  
      SQL>STARTUP MOUNT EXCLUSIVE;  
      SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;  
      SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;  
      SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;  
      SQL>ALTER DATABASE OPEN;  
      SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;  
      SQL>SHUTDOWN immediate;  
      SQL>startup;