EXP导出与字符集:导出客户端的字符集的设置会影响导出数据,所以应该设置导出客户端字符集和数据库相一致。
exp/imp是client端操作,它的操作里有个非常重要的地方就是设置client端字符集(NLS_LANG)。
NLS_LANG = <Language>_<Territory>.<Clients Characterset>
– Language参数指定Oracle消息使用的语言,日期中月份和日的显示;
– Territory参数指定货币和数字格式,地区和计算星期及日期的习惯;
– Clients Characterset控制客户端应用程序使用的字符集,这个字符集用于对数据库传输过来的数据进行解码。
1、imp或exp导入出数据时要确保客户端的字符集与服务器端字符集保持一致
2、查看服务端字符集
登录数据库后:
select userenv(‘language’) from dual;
select * from nls_database_parameters where parameter='NLS_CHARACTERSET'
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
3、查看客户端字符集
客户端字符集:与数据库连接的各种应用,例如sqlplus、exp/imp等,输入输出过程中会话的字符集。
windows:
set nls_lang
linux:
echo $NLS_LANG
4、修改客户端字符集
windows:
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
或者修改注册表:Regedit.exe –>HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE-HOME
linux:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK