从oracle9i中导出的数据导入到oracle10g中,经过程序的调用后,发现都是乱码,
开始以为是RHEL5系统字符集的事情,修改了几次后,发觉还是数据库的字符集有问题。
以下是用dba进入后查看的实际情况:
select * from V$NLS_PARAMETERS ;
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY RMB
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY RMB
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
select userenv('language') from dual;
显示字符集:
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1
select * from sys.props$ WHERE NAME='NLS_CHARACTERSET';
-----------------------
参考了网上的几个解决方法,都没有解决,最后还是使用了这样的方法解决了问题:
sqlplus "/as sydba"
shutdown immediate
Startup restrict
ALTER DATABASE CHARACTER SET ZHS16GBK;
有时候会遇到如下错误:
ORA-12712: new character set must be a superset of old character set
可以执行如下:跳过超集的检查
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
然后重启数据库即可,不过最好先做备份哦!
分享到:
相关推荐
Oracle11g 字符集 AL32UTF8 修改为ZHS16GBK .
oracle11g导入报错,很多情况下是字符集不同导致失败,附件为oracle11g更改字符集操作说明,多次实测有效。
oracle11g 修改字符集 修改为ZHS16GBK 有时候因为数据库的字符集的问题,导致dmp文件不能正常导入到其他数据库。可以用下面的方法将数据库的字符集修改一下
文中详细描述了如何修改ORACLE11G字符集的方法和步骤
oracle11g字符集的修改,本人亲自用过,按照文档内容一步一步操作准没错,不要忘了先将数据备份或导出pdm哦!!!O(∩_∩)O哈哈~
oracle10g字符集的查看与修改.docx
Windows下,安装ORACLE10G客户端后,发现原本用ORACLE9I浏览正常的中文,都变成乱码。这是个导入注册表的脚本,傻瓜型的!
ORACLE11g命令行更改字符集,免去你重装浪费的时间
Oracle字符集的问题.总结了一些项目中的实际问题,和解决办法
Oracle 字符集详解,包括查看,修改,导入导出,转换原理
Oracle 10g Express Edition是Oracle专门为小型用户提供的免费版本。Oracle XE十分小巧,安装简单,可供第三方软件开发商部署较小的应用。 不过Oracle XE目前的beta2缺省安装的字符集是WE8MSWIN1252,不是中文...
修改Oracle数据库字符集的命令行方法。 在Oracle10g上也可以使用
当遇到英文字符集的Oracle时,客户端切换字符集使用,方便快捷
为oracleRAC环境下修改字符集提供可靠依据。可为rac环境下修改其他参数提供参考。
用于oracle 10g 的字符集更改,经过调试后的文件。
根据网上资料整理,经多次实验,可用。扣10分是多了点,没办法,哈哈,挣点钱啊。忘大家多多照顾。
修改oracle的字符集,即默认的字符集,有时候可能字符集不符合一些要求,通过该步骤即可修改
Linux 下修改Oracle 10G的字符集:WE8ISO8859P1 修改为 ZHS16GBK 在我的机器上试过了,非常有效! //测试oracle 10g别的版本没试不敢保证
解决oracle9i和11g链接数据库时乱码的问题 首先确定server的数据库版本 字符集是中文还是英文 再双击对应的reg文件注册即可