|
|
Explain
为什么不去看文档? 或者去数据库管理版的精华区搜索一下?
NLS_LANGUAGE这个参数是由 NLS_LANG这个环境变量继承
而来的,另外一个参数nls_territory也是继承NLS_LANG的.
你的问题在于数据库的字符集有问题,你可以用下面的方法
转换一下字符集, 因为US7ASCII这个字符集是很多字符集的
子集,例如al32utf8
SQL> shutdown immediate;
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0 scope=memory;
alter system set aq_tm_processes=0 scope=memory;
alter database open;
alter system enable restricted session;
alter database character set internal_use internal_convert AL32UTF8;
shutdown immediate;
startup;
col parameter form a30
col value form a30
select parameter,value from nls_database_parameters;
上面的脚本会转换US7ASCII 到AL32utf8, 运行前需要关闭所有
其它的进程,例如em,agent等等.
字符集转换完毕后,你将 NLS_LANG设置成
"simplified chinese_china.zhs16gbk",然后登陆sqlplus,
做个查询,就不会有乱码了.
最初由 risepp 发布
[B]NLS_CHARACTERSET US7ASCII
NLS_LANGUAGE SIMPLIFIED CHINESE
最本质的原因就是这两个值不匹配是吧,可以修改这两个值使其一致么??
字符集是在安装数据库的时候指定的,NLS_LANGUAGE是受什么控制啊?客户端本身么? [/B] |
|