首先确保字符集一致,这样才不会出现乱码。
查看字符集:
A、oracle server 端
字符集查询
select userenv(‘language’) from dual
eg:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
其中NLS_CHARACTERSET 为server端字符集 NLS_LANGUAGE 为 server端字符显示形式
B、查询oracle
client端的字符集
$echo $NLS_LANG
eg:
oracle@q:~> echo $NLS_LANG
AMERICAN_AMERICA.AL32UTF8
oracle@q:~>
如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。
如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。
修改字符集:
sqlplus /nolog;
SQL>conn / as sysdba;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;<