oracle se lect 中文乱码,Imp 数据后,表字段的comments 中文显示为乱码

在使用IMP/EXP工具导入导出数据时遇到乱码问题,原因是客户端与数据库服务器的字符集不一致。解决方法包括查询并设置服务端字符集,如SIMPLIFIEDCHINESE_CHINA.ZHS16GBK,并在.bash_profile文件中更新NLS_LANG环境变量。通过这些步骤,可以确保数据导入后的字符集正确,避免乱码现象。
摘要由CSDN通过智能技术生成

现状:我用 imp/exp 导入/导出 数据时发现导入的数据注释全部都是乱码.

环境:exp、imp客户端没设置NLS_LANG环境(或者客户端为其他字符集),而数据库的环境为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

原因:客户端与服务端字符集不一样,导致在客户端导入数据时,导入的字符时按照客户端来生成,从而引起显示的字符集不一样

解决办法:

1、查询服务端字符集

1>select userenv('language') from dual;

或者(以1为主)

2>在命令行下:show parameter NLS

2、在.bash_profile文件添加如下内容(从服务端查询到的字符集):

export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"(为主)

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

注:三个字符集随便选择一个

3、重新导入dmp文件,字符集正常

4、可以通过以下SQL进行查询字符集是否正常

select 'comment on column '||table_name||'.'||column_name||' is '''||comments||''';'

from dba_col_comments t where t.owner = 'WEBP2PUSER';

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值