- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Iorcale乱码原因与解决方法
解决方法1、insert之前先设定nls_lang环境变量为中文,然后再插入中文数据export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBKorexport NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS32GB18030如果这样后,反而插不进去,或者仍然为乱码,表示当初再建库时,没有选择中文字符集(export NLS_LANG=AMERICAN_AMERICA.AL32UTF8)2、dbca一个新库,在字符集处选择中文3、强行修改服务器端ORACLE当前字符集(此方法没有试过,但应该是要在安装db的时候已经安装了此字符集,属猜测)在用cmp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改:SQL ; create database character set US7ASCII *?create?database?character?set?US7ASCII???ERROR?at?line?1:???ORA-01031:?insufficient?privileges?你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用cmp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql;命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正确显示。????4、利用数据格式转储,避开字符集限制这种方法主要用于加载外来ORACLE数据库的不同字符集数据。其方法如下:先将数据加载到具有相同字符集的服务器上,然后用转换工具卸出为foxbase 格式或Access格式数据库,再用转换工具转入到不同字符集的ORACLE数据库中,这样就避免了ORACLE字符集的困扰。目前数据库格式转换的工具很多,象Power Builder5.0以上版本提供的oracle中的数据库乱码的原因与解决??“在SQL*Plus中用insert插进的都是中文的,为什么一存入服务器后,再select出的就是???” “有的时候,服务器数据先导出,重装服务器,再导入数据,结果,发生数据查询成???” …… 这些问题,一般是因为字符集设置不对造成的。 很久以来,字符集一直是困扰着众多Oracle爱好者的问题,笔者从事Oracle数据库管理和应用已经几年了,经常接到客户的类似上面提到的有关数据库字符集的“告急”和“求救”,在此我们就这个问题做一些分析和探讨。 首先,我们要明确什么是字符集?字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包括关系,如us7ascii就是zhs16gbk的子集,从us7ascii到zhs16gbk不会有数据解释上的问题,不会有数据丢失,Oracle对这种问题也要求从子集到超集的导出受支持,反之不行。在所有的字符集中utf8应该是最大,因为它基于unicode,双字节保存字符(也因此在存储空间上占用更多)。 其次,一旦数据库创建后,数据库的字符集是不能改变的。因此,在设计和安装之初考虑使用哪一种字符集是十分重要的。数据库字符集应该是操作系统本地字符集的一个超集。存取数据库的客户使用的字符集将决定选择哪一个超集,即数据库字符集应该是所有客户字符集的超集。Bbs.Svn8.Com 在实际应用中,和字符集问题关系最大的恐怕就是exp/imp了。在做exp/imp时,如果Client 和Server的nls_lang设置是一样的,一般就没有问题的。但是,要在两个不同字符集的系统之间导数据就经常会有这样或那样的问题,如,导出时数据库的显示正常,是中文,当导入到其他系统时,就成了乱码,这也是一类常见问题。 现在,介绍一些与字符集有关的NLS_LANG参数, NLS_LANG格式: NLS_LANG = language_territory.charset 有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。 territory 指定服务器的日期和数字格式。 charset 指定字符集 例如: AMERICAN_AMERICA.US7SCII AMERICAN_AMERICA.ZHS16GBK 还有一些子集可以更明确定义NLS_LANG参数: DICT.BASE 数据字典基本 表版本
您可能关注的文档
最近下载
- 电路板PCB工程师英文EQ整理.pdf VIP
- 2025年军事职业能力考核题库.pdf VIP
- 北师大版(2019)必修第一册 Life Choices Topic Talk 课件(共19张PPT).pptx VIP
- 园林苗圃的建立课件.ppt
- 商业智能原理、技术及应用教学课件10.ppt VIP
- 闽南语学习教程.pdf VIP
- 政治老师家长会发言课件.pptx
- 结构专业图集-01(04)SG519多、高层民用建筑钢结构节点构造详图(2004年局部修改版).pdf VIP
- NB_T 10731-2021CN 煤矿井下防水密闭墙设计施工及验收规范.docx
- F701B.D _12-07版本)仪表说明书1.pdf VIP
文档评论(0)