1.首先查询数据库字符集

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

SQL> exit

从上面得知数据库字符集为AMERICAN_AMERICA.AL32UTF8


2.配置环境变量

echo 'export NLS_LANG="AMERICAN_AMERICA.UTF8"'>>/etc/profile
source /etc/profile

3.再次查询即可正常识别中文


原因分析:

sqlplus乱码与操作系统NLS_LANG变量有关,当数据库字符集与NLS_LANG变量不一致就产生乱码。