oracle 字符集错误情况处理简单方法,情况二、数据库中查询时,汉字显示乱码如果出现上面两种情况,那么先到数据库中查询数据库的
情况一:
[oracle@ ~]$ sqlplus / as sysdba
sql*plus: release 11.2.0.1.0 production on tue jun 26 20:52:47 2012
copyright (c) 1982, 2009, oracle. all rights reserved.
connected to:
oracle database 11g enterprise edition release 11.2.0.1.0 - production
with the partitioning, automatic storage management, olap, data mining
and real application testing options
sql> alter database open;
alter database open
*
error at line 1:
ora-01157: / 4 - ? dbwr
ora-01110: 4: '+dgasm/ora11/datafile/users.261.785186921'
sql> exit
英语显示?????
情况二、数据库中查询时,汉字显示乱码
如果出现上面两种情况,那么先到数据库中查询数据库的字符集
sql> select * from nls_database_parameters where parameter in ('nls_characterset','nls_nchar_characterset');
parameter value
-------------------- --------------------------------------------------
nls_characterset zhs16gbk
nls_nchar_characters al16utf16
et
可以看到,当前数据库的字符集为zhs16gbk, 国家字符集为al16utf16;
然后修改用户环境变量中的定义的字符集和数据库字符集保持一致
在 .bash_profile 中加入下面的变量即可
export nls_lang=american_america.zhs16gbk
,