本文是參考其他文章來進行試驗學習的,僅供參考交流
通過命令窗口方式把oracle編碼格式從utf-8轉換爲GBK,並且兩者之間相互轉換
以下是我的完整執行流程步驟
E:\work\develop\oracle11g_11_2_0\product\11.2.0\dbhome_1\BIN>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 23 10:02:14 2019
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 3240239104 bytes
Fixed Size 2180104 bytes
Variable Size 1795165176 bytes
Database Buffers 1426063360 bytes
Redo Buffers 16830464 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
System altered.
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> alter database character set internal_use zhs16gbk;
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 3240239104 bytes
Fixed Size 2180104 bytes
Variable Size 1795165176 bytes
Database Buffers 1426063360 bytes
Redo Buffers 16830464 bytes
Database mounted.
Database opened.
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
SQL> select * from nls_database_parameters;
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_LANGUAGE
AMERICAN
NLS_TERRITORY
AMERICA
NLS_CURRENCY
$
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_ISO_CURRENCY
AMERICA
NLS_NUMERIC_CHARACTERS
.,
NLS_CHARACTERSET
ZHS16GBK
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CALENDAR
GREGORIAN
NLS_DATE_FORMAT
DD-MON-RR
NLS_DATE_LANGUAGE
AMERICAN
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_SORT
BINARY
NLS_TIME_FORMAT
HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT
DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY
$
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_COMP
BINARY
NLS_LENGTH_SEMANTICS
BYTE
NLS_NCHAR_CONV_EXCP
FALSE
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_NCHAR_CHARACTERSET
AL16UTF16
NLS_RDBMS_VERSION
11.2.0.1.0
20 rows selected.
同理,如果是從GBK轉換成UTF-8,只要改變以下一句話即可,其他保持不變
把 SQL> alter database character set internal_use zhs16gbk;
改成
SQL> alter database character set internal_use AL32UTF8;
親測有效!!!
參考原文來源鏈接:https://www.cnblogs.com/qima/archive/2012/09/03/2669166.html