AIX oracle comment乱码

longtenggdf 2011-06-30 11:03:42
上个帖子可能没把问题描述清楚,重开一贴,能帮忙解决问题的 200分都给他。
系统环境:
系统类型:IBM AIX
oracle version :
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

数据库编码:
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8


AIX系统环境变量:
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

导致问题过程:
有两台AIX服务器,一开始 两台服务器上的数据库均没有乱码问题,我将服务器B中的数据库exp了一份,然后到服务器A上做imp,后发现服务器A中 所有表的comment,字段的说明中 中文均成乱码????,于是怀疑服务器B中中文编码设置可能与A中不一致(B机器我现在拿不到它的参数设置)。于是又将A之前的备份文件做imp,但comment依旧是乱码且数据记录中中文正常。大概就是这样,急求高人解答,不胜感激。

...全文
248 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋雨飘落 2011-07-01
  • 打赏
  • 举报
回复
修改客户端和服务端的字符集吧。。重新导入。
longtenggdf 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java3344520 的回复:]
肯定是客户端字符集不一致了,你导入的时候使用的是客户端的字符集

参考http://1985wanggang.blog.163.com/blog/static/7763833201072743239973/
[/Quote]

嗯 我也看到了这个帖子,
$ export NLS_LANG=American_America.ZHS16GBK
$ env
_=/usr/bin/env
LANG=en_US
LOGIN=oracle
PATH=/oracle/db/product/11.2/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.
NLS_LANG=American_America.ZHS16GBK
EXTENDED_HISTORY=ON
ORACLE_BASE=/oracle/db
LC__FASTMSG=true
LOGNAME=oracle
MAIL=/usr/spool/mail/oracle
ORACLE_SID=ceps
LOCPATH=/usr/lib/nls/loc
USER=oracle
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
HOME=/home/oracle
TERM=vt220
MAILMSG=[YOU HAVE NEW MAIL]
ORACLE_HOME=/oracle/db/product/11.2
PWD=/home/oracle
TZ=CST6CDT
A__z=! LOGNAME
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
$ imp PEPP_BFS/PEPP_BFS@ceps file =PEPP_BFS_20110615.dmp
Import: Release 11.2.0.2.0 - Production on Thu Jun 30 11:21:52 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management and Data Mining options
Export file created by EXPORT:V11.02.00 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
export client uses US7ASCII character set (possible charset conversion)
以上是我的系统环境变量以及做imp是的log.
我看了下我导入库的字符集
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

于是尝试将NLS_LANG 设置为 AMERICAN_AMERICA.AL32UTF8。但是问题依旧。

我现在的问题是 不能再重新设置NLS_LANG做导出,只能用现有的dmp文件做导入,希望得到的解决是通过修改一些设置让现有的dmp文件导入后能正确显示comment.谢谢
iqlife 2011-06-30
  • 打赏
  • 举报
回复

肯定是客户端字符集不一致了,你导入的时候使用的是客户端的字符集

参考http://1985wanggang.blog.163.com/blog/static/7763833201072743239973/
Rotel-刘志东 2011-06-30
  • 打赏
  • 举报
回复
客户端的字符集与服务器端的字符集不一致的原因。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧