865是繁体中文,852是简体中文,保证export  session  的nls_lang  和import  session  的nls_lang  一样。  
(再NT下,用修改注册表的方法:HKEY_LOCAL_MACHINE->software->oracle->NLS_Lang;  
 在UNIX下,设置正确的环境变量NLS_LANG  ).  
这样,在import  过程中,字符转换只会发生一次(当数据插入数据库时,而这个转换  
是自动的)  
 
 关于如何确认export  文件的nls_lang  ,  请参照:  
NOTE:48644.1  in  metalink.oracle.com  
---------------------------------------------------------------  
一个方法修改EXPORT的NLS_LANG,修改DUMP文件的前几个二进制的值,可用ultredit打开来修改:  
The  second  and  the  third  byte  in  the  file  define  the  character  set  used  for  the  export.  
US7ASCII            0x0001    
WE8DEC                        0x0002    
WE8ISO8859P1            0x001f    
EE8ISO8859P2            0x0020    
SE8ISO8859P3            0x0021    
NE8ISO8850P4            0x0022    
CL8ISO8859P5            0x0023    
AR8ISO8859P6            0x0024    
EL8ISO8859P7            0x0025    
IW8ISO8859P8            0x0026    
WE8ISO8859P9            0x0027    
TH8TISASCII            0x0029    
WE8ROMAN8                              0x0005    
WE8PC850                              0x000a    
US8PC437                              0x0004    
EE8PC852                              0x0096    
EE8MSWIN1250            0x00aa    
CL8MSWIN1251            0x00ab    
EL8MSWIN1253        0x00ae  
WE8MSWIN1252        0x00b2    
JA16EUC                        0x033e    
JA16SJIS                              0x0340    
ZHT16BIG5                0x0361    
***********************  
*    Please  read  it          *  
***********************  
Warning:    User  modifications  of  export  dump  files  are  not  supported  ========    by  Oracle.    The  character  set  information  is  also  held  in  other                      places  in  the  export  dump  file  and  modifying  only  the  two  bytes                      may  lead  to  problems  with  imported  data.  
 
 

解决方案 »

  1.   

    865是ZHT16BIG5;
    852是ZHS16GBK ;
      

  2.   

    目标端的数据库的字符集已经设置成ZHT16BIG5。下面是select name,value$ from props$的结果 
    name value$ 
    DICT.BASE 2 
    NLS_LANGUAGE AMERICAN 
    NLS_TERRITORY AMERICA 
    NLS_CURRENCY $ 
    NLS_ISO_CURRENCY AMERICA 
    NLS_NUMERIC_CHARACTERS ., 
    NLS_CALENDAR GREGORIAN 
    NLS_DATE_FORMAT DD-MON-YY 
    NLS_DATE_LANGUAGE AMERICAN 
    NLS_CHARACTERSET ZHT16BIG5 
    NLS_SORT BINARY 
    NLS_NCHAR_CHARACTERSET ZHT16BIG5 
    NLS_RDBMS_VERSION 8.0.5.0.0 
    GLOBAL_DB_NAME BCD.WORLD 
    EXPORT_VIEWS_VERSION 7 我在安装数据库的时候是选择了ZHS16GBK ,但我新建目标数据库时选择的确实是ZHT16BIG5。怎么还会有这个问题?是不是数据库字符集一定要与操作系统的字符集一致吗?