深入解析ORACLE字符集
1、字符集的一些基本知识
字符集有很多种,最初的字符集是ASCII,由于ASCII支持的字符很有限,因此随后又出现了很多的编码方案,这些编码方案大部分都是包括了ASCII的。EBCDIC编码是另一个比较基本的编码,它的部分字符采用了和ASCII不同的编码值,因此两者是不兼容的基本编码方案。采用EBCDIC编码的比较少,目前主要是IBM 的系统采用,如AS400及S390系统,大部分的系统都是基于ASCII编码的。 由于亚洲国家的字符集相对复杂一些,因此一般都使用了两个及以上的字节进行编码的方案。对于简体中文,GB2312码是国家1981年实施的编码标准,通行于大陆。新加坡等地也使用此编码。GBK编码是GB2312码的扩展,是1995年发布的指导性规范,它在字汇一级支持 ISO/IEC 10646-1 和GB 13000-1 的全部中日韩 (CJK) 汉字(20902字)。目前最新的汉字字符集是2000年的GB18030,它是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。目前简体WINDOWS的缺省内码还是GBK。 由于编码方案太多且彼此之间不兼容,存在互相之间存在冲突的情况,即对于同一个编码数值,在两种不同的编码方案中代表的是两个不同的字符。这样对于一些WEB应用来说,由于多种语言文字的同时使用及存储,需要采用一种统一的字符集。为此,国际标准化组织(ISO)制定了ISO 10646码表,而Unicode协会制定了Unicode规范,这两个体系刚开始时是独立建立的,在1991年,双方都认识到世界不需要两个不兼容的字符集。于是它们开始合并双方的工作成果,并为创立一个单一编码表而协同工作。从Unicode2.0开始,Unicode项目采用了与ISO 10646-1相同的字库和字码。目前两个项目仍都存在,并独立地公布各自的标准。Unicode协会现在的最新版本是2006年的Unicode 5.0。 2、ORACLE数据库的字符集 set nls_lang=AMERICAN_AMERICA.UTF8 set nls_lang=SIMPLIFIED CHINESE_AMERICA.UTF8 对于US7ASCII,表示区域是US,用7个比特位表示一个字符,标准的字符集名称为ASCII。 3、如何选择合适的数据库字符集 同样,存储了中文信息的数据库,如果采用单字节的字符集,也是不合适的。在这种情况下,数据库的字符集虽然是US7ASCII或WE8ISO8859P1编码,但里面存储的数据编码实际上却是另外的编码格式,这种不一致的情况很容易引起问题,建议不要这样使用。ORACLE提供了很多种类的字符集供客户选择,就是要满足各种文字不同的编码需要。 3.2、字符集的选择需要优先考虑应用程序的需要。 4、与字符集相关的问题分析 4.2、数据库出现乱码的问题: 4.2.2、数据库字符集与客户端NLS_LANG设置不同引起的乱码: 4.2.3、客户端NLS_LANG与本地化环境不同引起的乱码: |
转载于:https://blog.51cto.com/comtv2/460936
深入解析ORACLE字符集相关推荐
- oracle10创建实例表空间,解析oracle 10g示例方案创建过程
解析oracle 10g示例方案创建过程 1.问题起因: 在oracle 10g版本中,运行dbca,如果选择 一般用途/事务处理/数据仓库选项时 再进一步建库都会提示是否创建示例方案 唯独选择定制数 ...
- zhs16gbk对应mysql_[Oracle] 彻底搞懂Oracle字符集
基本概念字符集(Character set):是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.常见的字符集有ASCII,ZHS16GB231 ...
- oracle 字符集 AL32UTF8、UTF8
简介:ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储.处理和检索数据.利用全球化支持,ORA ...
- Oracle 字符集的查看和修改
一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库工 ...
- Oracle字符集的查看查询和Oracle字符集的设置修改
本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题. 一.什么是Oracle字符集 Oracle字符集是 ...
- oracle字符集与客户端
http://www.linuxidc.com/Linux/2011-11/47383p2.htm 什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容 ...
- Oracle字符集问题总结
经常有同事咨询oracle数据库字符集相关的问题,如在不同数据库做数据迁移.同其它系统交换数据等,常常因为字符集不同而导致迁移失败或数据库内数据变成乱码.现在我将oracle字符集相关的一些知识做个简 ...
- oracle字符集查看、修改、版本查看
1.先查服务端的字符集 或者 2.再查客户端的字符集 两个字符集(不是语言)一致的话就不会乱码了 CONVERT(c1,set1,set2) [功能]将源字符串c1 从一个语言字符集set2转换到另 ...
- 深入解析oracle回滚段
深入解析oracle的回滚段 日前在整理数据库表空间的是否,发现最大的数据文件来自回滚段.回滚段文件undotbs1的数据文件已经达到23G. 希望清理这部分数据,但一时又无从下手.于是决定深入了解一 ...
- (转载)查看Oracle字符集及怎样修改字符集
一.什么是oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库 ...
最新文章
- codechef ANUCBC(背包)
- 练习:卷积和池化过程中注意事项
- 成功解决RuntimeWarning: invalid value encountered in double_scalars
- kaggle案例(part1)--Text Analysis Topic Modelling with spaCy||GENSIM
- 《深入理解 Spring Cloud 与微服务构建》第十一章 服务网关
- 物联网市场潜力巨大,中国移动加强布局
- 第5章 深度学习和卷积神经网络
- 太理java题库_JAVA题库(复习必备)
- 前端CSS基础——表单元素单选框的美化
- LACP协议:链路聚合/华为交换机LACP
- 微信小程序添加服务器域名
- baddy:核心函数入口
- Git-删除暂存区文件
- 操作Excel工具类:ExcelUtils.java
- Python实现文字转图片
- vue项目上传图片的方法
- CAP理论-分布式系统的基础理论-------CP、AP案例场景分析
- button的几种使用方式
- 2022.02.23
- 【热血传奇】 怪物添加(上)