expdp/impdp导致存储过程中的中文部分出现乱码

接到客户反馈的问题,
Linux下Oracle11gRAC(64位)环境下expdp导出产生dmp文件,由Windows平台Oracle10.2.0.4(64位)的impdp导入到Oracle10.2.0.4数据库.
导入之后发现,部分存储过程编译不通过.
查看其原因,是个别存储过程中的中文部分出现乱码.
例如:

ps_Message :='取得商品的上次批发数量和批发价';
变成了:
ps_Message :='取得商返纳洗闻?⑹?亢团?⒓?apos;;

ps_Message:=substr('配送验收调整可配送余额意外出错:'||vs_Message,1,2000);
变成了:
ps_Message:=substr('渌脱槭盏髡?膳渌陀喽钜馔獬龃恚?apos;||vs_Message,1,2000);

ps_Message:='转移不完整的流水失败!';
变成了:
ps_Message:='转移不完整的流水О埽?apos;;

--生成要货单主表
     select count(*), nvl(sum(yhCount), 0)
变成了:
--生梢?醯ブ鞅?     select count(*), nvl(sum(yhCount), 0)

即从某个汉字开始起,缺少了汉字的高字节.
难道expdp/impdp对oracle数据字典表的内容(dba_source的text列,对应底层:sys.source$.source列varchar2(4000) ) 能产生差异?
目前是通过从正式环境获取正确的存储过程脚本,重新执行解决了本问题.

请使用浏览器的分享功能分享到微信等