1.首先查询数据库字符集
1
2
3
4
5
6
7
|
SQL>
select
userenv(
'language'
) from dual;
USERENV(
'LANGUAGE'
)
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
SQL>
exit
|
从上面得知数据库字符集为AMERICAN_AMERICA.AL32UTF8
2.配置环境变量
设置开机重启自动加载将其放到
/home/oracle/.bash_profile
或/etc/profile中
1
2
|
echo
'export NLS_LANG="AMERICAN_AMERICA.UTF8"'
>>
/etc/profile
source
/etc/profile
|
3.再次查询即可正常识别中文
原因分析:
sqlplus乱码与操作系统NLS_LANG变量有关,当数据库字符集与NLS_LANG变量不一致就产生乱码。