使用ultraedit32打开导出的dmp文件,文件内容以十六进制显示数据,其中第二、三字节的数据记录的是此文件的字符集。
例如:
03 54
将其转换为10进制,值为852,使用命令
select nls_charset_name(852) from dual
得到结果
ZHS16GBK
当前使用winXP简体中文操作系统,Oracle客户端默认字符集为GBK。
创建数据库,设定数据库字符集、国家字符集为UTF8,如须在此操作系统上导出文件,并导入至另一winXP简体中文操作系统
服务器上,须将客户端字符集修改为UTF8。
方法一:将dmp文件二、三字节修改为oracle字符集名对应的id值
例如,使用命令select nls_charset_id('UTF8') from dual,得到结果为871
将871转换为十六进制为03 67,即,把03 54 改为 03 67
导入修改后的dmp文件
方法二:修改注册表项NLS_LANG的值为UTF8