oracle10 exp imp 中文乱码

1、查询Oracle Server端的字符集: 有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种: SQL>select userenv(‘language’) from dual; 

 结果如下:AMERICAN _ AMERICA. ZHS16GBK。 

2、查询dmp文件的字符集: 用Oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:

 SQL> select nls_charset_name(to_number('0354','xxxx')) from dual; ZHS16GBK 

3、查询Oracle client端的字符集: 这个比较简单。在Windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在Dos窗口里面自己设置,比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK 如果检查的结果发现Server端与Client端字符集不一致,请统一修改为同Server端相同的字符集。

你可能感兴趣的:(oracle10 exp imp 中文乱码)