使用imp导数据出现xmltype字段的内容的中文是乱码

      使用imp导数据出现xmltype字段的内容的中文是乱码,这个问题困扰了我应该有半年的时间了。

      症状:从广州以外的数据库导出来的dmp文件,导到广州本地的数据库时,一般字段不会出现中文乱码,而xmltype中的中文全是问号,而广州本地的数据库之间的导入导出,却不存在乱码。

       具体的:1、从本地导出dmp文件,导入杭州数据库,xmltype字段的出现乱码。

                    2、从杭州导出dmp文件,导入本地数据库,xmltype字段的出现乱码。

                    3、从本地导出dmp文件,导入珠海数据库,xmltype显示正常。

                    4、从珠海导出dmp文件,导入本地数据库,xmltype字段出现乱码。

     

       环境:linux、oracle 10g ,其中本地的是rehat5.4,杭州的也是rehat5.4,珠海的是suse。

      

    今天无意中,被我查到了原因,是系统环境变量NLS_LANG的问题,本地的系统是没有设置这个值,杭州的也没有设置这个值,珠海的由于有密码,暂时没查到。

      查看NLS_LANG:echo $NLS_LANG

      设置NLS_LANG:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

      这里要注意,这个环境变量是分用户的, 需要在oracle用户下设置,在root用户下设置时无效的。而且export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 这个命名在当前窗口才有效,如果切换了用户或者退出后再登陆,会失效的。

     在导入dmp文件时,在oracle用户下设置NLS_LANG,然后在使用imp命令导入数据,这样就不会出现乱码了。

 

值得怀疑的地方:本地之间的导入导出没问题,这个是否跟系统的版本有关系呢?因为总结上面的几种情况,都是不同系统间的dmp导入导出时出现乱码。

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值