今天同事给了一份dmp问件,让我导入到linux下的数据库中,当时没有想,就直接导入了。
结果查询的时候,看到乱码的现象
LOAN_NAME
------------------------------
??
很显然这个是字符集的问题,
在客户端使用plsqldeveloper执行sql语句查看
显示:肖军
正常!!!
那么肯定是字符集的问题了
解决办法:
查看源端字符:
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
查看linux下的oracle字符集
SQL> Select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
执行export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
查询sql
LOAN_NAME
------------------------------------------------------------
肖军
显示正确!
执行[oracle@oracle ~]$ export NLS_LANG='SIMPLIFIED AMERICAN_AMERICA.ZHS16GBK'
登录数据库
[oracle@oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 26 14:07:01 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-12705: Cannot access NLS data files or invalid environment specified
Enter user-name:
出现错误,NLS文件无效