1.数据库:Oracle11g
初始字符集:AMERICAN_AMERICA.UTF8
通过客户端实现字符集修改:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
(1)Windows环境
修改注册表
regedit--->打开注册表:
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraClient11g_home1
NLS_LANG修改为与Oracle 数据库字符集,NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
(2)设置系统环境变量
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
(3)Linux环境
修改/home/oracle与 /root用户目录下的.bash_profile中
$ su oracle
$ cd ~
$ vim .bash_profile
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
通过客户端去修改服务端数据库字符集,首先确保客户端字符集设置正确。
如果客户端字符集设置与服务器端字符集不一致,即使后期服务端修改正确后。
通过plsql查询的结果也不正确。
select userenv('language') from dual;
服务器端:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
客户端:AMERICAN_AMERICA.UTF8
注意NLS_LANG变量一定要配置正确否则会引起sqlplus 失效
更新字符集:
select * from nls_database_parameters
update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET';
2.修改数据库字符集
su - oralce
sqlplus /nolog
conn /as sysdba
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;
初始字符集:AMERICAN_AMERICA.UTF8
通过客户端实现字符集修改:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
(1)Windows环境
修改注册表
regedit--->打开注册表:
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraClient11g_home1
NLS_LANG修改为与Oracle 数据库字符集,NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
(2)设置系统环境变量
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
(3)Linux环境
修改/home/oracle与 /root用户目录下的.bash_profile中
$ su oracle
$ cd ~
$ vim .bash_profile
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
通过客户端去修改服务端数据库字符集,首先确保客户端字符集设置正确。
如果客户端字符集设置与服务器端字符集不一致,即使后期服务端修改正确后。
通过plsql查询的结果也不正确。
select userenv('language') from dual;
服务器端:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
客户端:AMERICAN_AMERICA.UTF8
注意NLS_LANG变量一定要配置正确否则会引起sqlplus 失效
更新字符集:
select * from nls_database_parameters
update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET';
2.修改数据库字符集
su - oralce
sqlplus /nolog
conn /as sysdba
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;