装的是oracle 10
select userenv('language') from dual
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1在windows用sql developer 手动插入乱码
字段类型 varchar2
linux上的oracle服务器用oracle用户sqlplus插入也是乱码
select userenv('language') from dual
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1在windows用sql developer 手动插入乱码
字段类型 varchar2
linux上的oracle服务器用oracle用户sqlplus插入也是乱码
SELECT * FROM v$nls_parameters;
看服务器端字符集是否有问题,不支持中文.
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;