怎样让Oracle支持中文? 语言_地域.字符集

暂时不涉及数据库业务,但是今天入库的时候中文入库报错,考虑可能是字体不支持,留待备用。

来源:Linux社区  作者:robertkun

语言_地域.字符集
SIMPLIFIED CHINESE_CHINA.ZHS16GBK


set nls_lang='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'


Oracle修改服务器端字符集:
SQL>SHUTDOWN IMMEDIATE;   


SQL>STARTUP MOUNT;   


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 CHARACTER SET ZHS16GBK;


如果出现了 ERROR at line 1: ORA-12712: new character set must be a superset of old character set     


SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳过超集的检查,


ALTER DATABASE character set INTERNAL_USE   


SQL>SHUTDOWN IMMEDIATE;   


SQL>STARTUP 再检查就发现已经把字符集修整过来了


NLS_LANG=AMERICAN_AMERICA.ZHS16GBK


##################################################################################################################


--当前会话的信息
SQL> select * from Nls_session_parameters;


PARAMETER    VALUE
-------------------- ----------------------------------------
NLS_LANGUAGE    AMERICAN
NLS_TERRITORY    AMERICA
NLS_CURRENCY    $
NLS_ISO_CURRENCY    AMERICA
NLS_NUMERIC_CHARACTE .,
RS


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_FOR DD-MON-RR HH.MI.SSXFF AM TZR
MAT


NLS_DUAL_CURRENCY    $
NLS_COMP    BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP  FALSE


17 rows selected.


--实例的信息
SQL> 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_CHARACTE
RS


NLS_ISO_CURRENCY
NLS_CALENDAR
NLS_TIME_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_TZ_FOR
MAT


NLS_DUAL_CURRENCY
NLS_COMP    BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP  FALSE


17 rows selected.


--数据库的信息
SQL> select * from Nls_database_parameters;


PARAMETER    VALUE
-------------------- ----------------------------------------
NLS_LANGUAGE    AMERICAN
NLS_TERRITORY    AMERICA
NLS_CURRENCY    $
NLS_ISO_CURRENCY    AMERICA
NLS_NUMERIC_CHARACTE .,
RS


NLS_CHARACTERSET    WE8MSWIN1252
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_FOR DD-MON-RR HH.MI.SSXFF AM TZR
MAT


NLS_DUAL_CURRENCY    $
NLS_COMP    BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP  FALSE
NLS_NCHAR_CHARACTERS AL16UTF16
ET


NLS_RDBMS_VERSION    11.2.0.3.0


20 rows selected.


SQL> select * from v$nls_parameters;


PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8MSWIN1252
NLS_SORT    BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM


PARAMETER VALUE
---------------------------------------- ----------------------------------------
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_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP        BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP    FALSE


19 rows selected.


SQL>


SQL> select * from v$nls_parameters;


PARAMETER  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_CHARACTERSET      WE8MSWIN1252
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_NCHAR_CHARACTERSET  AL16UTF16
NLS_COMP          BINARY
NLS_LENGTH_SEMANTICS  BYTE
NLS_NCHAR_CONV_EXCP      FALSE


已选择19行。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

原文地址:https://www.cnblogs.com/the-tops/p/5881870.html