Oracle8I,9I___之字符集修改(解决乱码问题必备)

Oracle 服务端与客户端的字符集必须保持一不能致,
数据库字符集为ZHS16GBK,客户端字符集为:ZHS16GBK.
这种情况下数据库和客户端的字符集完全一致,在插入繁体和查询显示时都不会出现问题.
 
select userenv('language') from dual;--查询服务端字符集
修改Oracle客户端字符集方法:
1:可以通过修改注册表键值永久设置,类似于这样的键值:
HKEY_LOCAL_MACHINE/SOFTWARE/Oracle/HOME0下,
如一般的简体中文
nls_lang=TRADITIONAL CHINESE_TAIWAN.ZHS16GBK
2.设置环境变量
打开一个cmd窗口,以下称为window1
在windows1,输入set nls_lang=TRADITIONAL CHINESE_TAIWAN.ZHS16GBK
并测试一下,echo %nls_lang%,检查结果为TRADITIONAL CHINESE_TAIWAN.ZHS16GBK
 
select userenv('language') from dual;--查询服务端字符集
在8I/9I修改服务器字符集
子集到超集,在8I/9I中,简单的修改步骤如下:
在Oracle sql*plusg下
conn sys/123@pberp as sysdba;--连接数据库便利连接有管理权限,
SHUTDOWN IMMEDIATE; --会关闭数据库连接
conn sys/123@pberp as sysdba;--所以要重新一次连接数据库
STARTUP MOUNT; --进入归档模式(标准模式)
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE character set INTERNAL_USE zhs16gbk; --设置服务器的字符集格式,相应修改zhs16gbk;
SHUTDOWN;
STARTUP RESTRICT;
SHUTDOWN;
--挂启操作
 
 

你可能感兴趣的:(Oracle8I,9I___之字符集修改(解决乱码问题必备))