当前位置: 首页 > 图文教程 > 网络编程 > PHP > Oracle Faq(Oracle的字符集问题)

PHP
php4的彩蛋
正则表达式例子:获得某个网页上的所有超裢接
正则表达式例子:在一个字符串中查找另一个字符串
正则表达式例子:将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式
Pattern Modifiers - 规则表达式的修饰符
PHP4实际应用经验篇(1)
PHP4实际应用经验篇(2)
PHP4实际应用经验篇(3)
PHP4实际应用经验篇(4)
PHP4实际应用经验篇(5)
PHP4实际应用经验篇(6)
PHP中的DOM XML函数
使用php动态生成gif时遇到的问题和解决办法
用PHP连mysql和oracle数据库性能比较
浅谈Windows下 PHP4.0与oracle 8的连接设置
用PHP调用数据库的存贮过程
用php与mysql的电子贺卡程序
挑战最棒的留言本的源码(一)
挑战最棒的留言本的源码(二)
如何实现日期比较,暨实现显示5天内,显示10天内的记录

PHP 中的 Oracle Faq(Oracle的字符集问题)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 76 ::
收藏到网摘: n/a


1、在建库时,catproc一定要运行,否则用rman时会出现如下字符集的错误:
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database: ORA-06553: PLS-213: package STANDARD noe
RMAN-04015: error setting target database character set to ZHS16CGB231280
如果建库时没有问题,那么可以Re-run catproc.sql. This will in turn call the dbmsbkrs.sql script which creates the dbms_backup_restore package.
2、中文字符集说明
ZHS16CGB231280 CGB2312-80 16-bit Simplified Chinese MB, ASCII
ZHS16GBK GBK 16-bit Simplified Chinese MB, ASCII, UDC
简单地说ZHS16GBK是ZHS16CGB231280的超集。
一九九○年中国、日本、韩国共同制定的统一东亚表意文字字符集,即常称的国标扩展码字符集(GBK)。
3、如何避免中文支持问题
我们的一贯建议是在建库时就做好规划,这样以后就不会有问题了。
1)create database
character set ZHS16GBK
national character set ZHS16GBK
2)环境变量:NLS_LANG=american_america.ZHS16GBK
最好export NL2004-10-20_FORMAT='YYYY-MM-DD HH24:MI:SS'指明日期格式;
3)如果建库时指定了props$中characterset肯定就是ZHSS16GBK了:
NLS_CHARACTERSET ZHS16GBK
NLS_NCHAR_CHARACTERSET ZHS16GBK
如果不是可以使用update改变,但这样做对于已有数据会有影响,甚至会导致整个数据库不能用,所以还是在建库之后就进行验证,一个好的DBA就是能够尽量避免问题的发生,而不是等到出了问题再去救火。
如此一来就不会再有字符集和中文支持的问题了。还有问题吗?和我联系:)