Oracle 导入.dmp乱码
0x00查询Oracle数据库字符编码
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
0x02查看dmp文件字符编码
[root@linux5 ~]# cat /mnt/hgfs/2015-03-16-Library/one.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6
0345
查询0345是什么编码
SQL> select nls_charset_name(to_number('0345','xxxx')) from dual;
NLS_CHARSET_NAME(TO_NUMBER('03454','XXXX'
----------------------------------------
ZHS16GBK
0x03查看Linux字符集
#查看系统登录用户当前的字符集状态
[root@linux5 ~]# echo $LANG
zh_CN.UTF-8
命令:locale -a 查看本地的字符集
locale -m 查看所有支持的字符集
0x04解决方案
把Oracle的客户端和Linux字符集调整成一致就可以了 应该是UTF-8包含了JA16EUCTILDE这个编码
0x05参考链接
如何解决乱码问题http://blog.chinaunix.net/uid-186064-id-2823338.html
oracle字符对照表http://docs.oracle.com/cd/B19306_01/server.102/b14225/applocaledata.htm#i634428
如何查看oracle数据库字符集http://blog.csdn.net/heianemo/article/details/7702749
遗留问题
IMP-00008: unrecognized statement in the export file: