识别导出的字符集
在导出文件中,记录着导出使用的字符集id,通过查看导出文件头的地2、3个字节,可以找到16进制表示的字符集id,在windows可以UltraEdit等工具打开dmp文件,查看其导出字符集,如图所示:
在unix上也可以通过命令来查看:cat expdat.dmp | od –x | head
Oracle提供标准函数,对字符集名称及id进行转换:
SQL> Select nls_charset_id('ZHS16GBK') from dual;
NLS_CHARSET_ID('ZHS16GBK')
--------------------------
852
SQL> Select nls_charset_name(852) from dual;
NLS_CHAR
--------
ZHS16GBK
SQL> select to_char('852','xxxx') from dual;
TO_CH
-----
354
对应上面图中的第2、3自己,该导出文件字符集为ZHS16GBK。
========================================================
设置客户端:
Windows: set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
Unix/linux:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
查看客户端设置:
Windows:echo %NLS_LANG%
Unix:env|grep NLS_LANG
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21256317/viewspace-1061933/ ,如需转载,请注明出处,否则将追究法律责任。