oracle 数据导入 数据和备注(comment)乱码问题解决办法

1 源数据库:

   字符集:SIMPLIFIEDCHINESE_CHINA.AL32UTF8

  EXP导出客户端字符集(windows导出):NLS_LANG=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK

2 目标数据库:

  字符集:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 IMP导入客户端字符集(linux客户端导入):zh_CN.UTF-8

 

导入出现的问题:

1 在PL/SQL中查询数据为乱码

2 表注释为乱码

 

解决问题1:在PL/SQL中查询数据为乱码

  数据查询乱码,如果源数据库和目标数据库字符集不冲突的话,可以考虑为PL/SQL所在的客户端的字符集问题。

 在PL/SQL所在的客户端(pl/sql都装在windows上)环境变量中增加:

至此,查询结果正常。

 

解决问题2:表注释为乱码

因为是在linux端进行imp导入的,在Linux端执行export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK,然后进行imp重新导入,发现注释正常。

 

总结:一般出现乱码,考虑三方面的问题:

1.1 导入后如果查询数据为乱码,查看PL/SQL所在客户端的字符集,修改为中文字符集。

1.2  导入后如果查询数据为乱码,查看源端和目标端的字符集是否包含(修改数据库字符集比较复杂,不建议)

2     导入后如果表注释为乱码,查看导入客户端的字符集是否和导出端的字符集是否一致。

原文转自:https://blog.csdn.net/shipeng1022/article/details/53066558 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值