be sure the nls_lang of your oracle9.0 is same as the one you are using in the export session ( oracl8.0.5)how to check : select * from nls_session_parameters how to change : change the registery of your client
DMP文件第二第三字节是字符集,比如001F select nls_charset_name(to_number('001f','xxxx')) from dual; WE8ISO8859P1要改成ZHS16GBK select to_char(nls_charset_id('ZHS16GBK'), 'xxxx') from dual; 0354 改吧 不过不是任意两个字符集之间都能改的,要注意。不过好在我们常用的 US7ASCII,WE8ISO8859P1,ZHS16CGB231280,ZHS16GBK都可以。
解决Unix系统向Win2000系统导入数据出现乱字符的问题。(1) create database character set US7ASCII 强制设置服务器字符集和客户端字符集一制 (2) create user username identified by userpassword (3) grant create session to username 授予用户与数据库建立连接权限 (4) grant create resource to username (5) imp system/manager fromuser=ambitino touser=ambition file=d:\a.dmp
the default language to what you expect . tell me if the problem solved .
字符集的不同之间的DMP导入,要注意子集和超集之间的关系,从子集导到超集中是可以的。
还有个办法,修改DMP文件的头几个字符。
select nls_charset_name(to_number('001f','xxxx')) from dual;
WE8ISO8859P1要改成ZHS16GBK
select to_char(nls_charset_id('ZHS16GBK'), 'xxxx') from dual;
0354
改吧
不过不是任意两个字符集之间都能改的,要注意。不过好在我们常用的
US7ASCII,WE8ISO8859P1,ZHS16CGB231280,ZHS16GBK都可以。
强制设置服务器字符集和客户端字符集一制
(2) create user username
identified by userpassword
(3) grant create session to username 授予用户与数据库建立连接权限
(4) grant create resource to username
(5) imp system/manager fromuser=ambitino touser=ambition file=d:\a.dmp