[转帖]Oracle入门精读28-字符集 AL32UTF8与UTF8
字符(Character)
字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符编码(Character Encoding)
是一套法则,使用该法则能够对自然语言的字符的一个集合,与其它的一个集合(如数值编码)进行配对。
即在符号集合与数字系统之间建立对应关系。
字符集(Character set)
实质就是按照一定的字符编码方案,对一组特定的符号,分别赋予不同数值编码的集合。
常见的字符集有ASCII,ZHS16GB231280,ZHS16GBK等。
Oracle数据库字符集
Oracle数据库最早支持的编码方案是US7ASCII。
后来为了支持全球化,采用国家语言支持(NLS),用户可用本国语言和格式来存储、处理和检索数据。目的为用户提供自己熟悉的数据库母语环境,诸如日期格式、数字格式和存储序列等。
Oracle字符集的命名规则
<Language><bitsize><encoding> 含义:<语言><比特位数><编码>
例如:AL32UTF8 AL,指使用所有语言; 32,指32位; UTF8,指编码。
环境变量:NLS_LANG=American_America.AL32UTF8, American表示语言;America表示地区;AL32UTF8字符集类型。
UTF-8编码
兼容ASCII编码;拉丁文、希腊文等使用两个字节;包括汉字在内的其它常用字符使用三个字节;剩下的极少使用的字符使用四个字节。
字符集中汉字编码占用几个字节
NLS_CHARACTERSET 为AL32UTF8或UTF8,即一个汉字占用三到四个字节。
NLS_CHARACTERSET为ZHS16GBK,即一个字符占用两个字节。
查看当前系统采用的字符集
SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

当前系统的字符集为:AL32UTF8。
LENGTHB或者VSIZE函数求得是占用字节数,
LENGTH函数求得是占用字符数。
SQL> select lengthb('中') from dual;

字符集AL32UTF8编码汉字占用3个字节!
SQL> select length('中') from dual;

字符集AL32UTF8编码汉字占用1个字符
数据库中的字节或字符存储
Oracle一般来说默认是存储字节(BYTE),如下:

所以,CHAR(12 BYTE) CHAR(12 CHAR)的意义就不一样的。
客户端操作系统字符集
客户端操作系统以哪种字符编码存储字符
cmd > chcp

代码页936(字符集为ZHS16GBK)
小结
NLS_LANG参数(客户端) 用于向Oracle指示客户端操作系统的字符集,
- 设置客户端的NLS_LANG为客户端操作系统的字符集。
- 如果服务端的Oracle数据库字符集等于NLS_LANG参数(客户端),数据库和客户端传输字符时不作任何转换。
- 如果客户端操作系统的字符集和数据库字符集间无法正确转换,则应该首先改变客户端终端的字符集,而不是简单地把NLS_LANG设为和数据库字符集一样。
</article>
[转帖]Oracle入门精读28-字符集 AL32UTF8与UTF8的更多相关文章
- oracle 字符集 AL32UTF8、UTF8
简介:ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储.处理和检索数据.利用全球化支持,ORA ...
- AL32UTF8 and UTF8 and ZHS16GBK
About AL32UTF8 ORACLE数据库字符集,即Oracle全球化支持(Globalization Support), 或即国家语言支持(NLS)其作用是用本国语言和格式来存储.处理和检索数 ...
- [转帖]Oracle字符集的查看与修改 --- 还未尝试 找个周六 试试.
Oracle 字符集的查看和修改 感谢原作者 改天试试 https://www.cnblogs.com/rootq/articles/2049324.html 一.什么是Oracle字符集 Oracl ...
- Oracle 11g修改字符集AL32UTF8为ZHS16GBK
oracle11g更改字符集AL32UTF8为ZHS16GBK当初安装oracle的时候选择的默认安装,结果字符集不是以前经常用的16GBK,要改字符集,从网上找到了方法并试了一下,果然好用! 具体如 ...
- Oracle 12C 新特性之 db默认字符集AL32UTF8、PDB支持不同字符集
一. db默认字符集AL32UTF8Specify the database character set when you create the database. Starting from Ora ...
- 修改 oracle xe 默认中文字符集成为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
修改 oracle xe 默认中文字符集成为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK Oracle XE 执行安装程序后,很简单的默认为 SIMPLIFIED CHINE ...
- Oracle11g字符集AL32UTF8修改为ZHS16GBK详解
此问题发生在数据库迁移过程中.源数据库:自己笔记本上win7 64位系统的oracle11g个人版,字符集ZHS16GBK :目标数据库,HP的sqlserver2008 系统 64位数据库服务器,字 ...
- Oracle11g字符集AL32UTF8修改为ZHS16GBK详解【转】
------感谢作者,确实解决了问题.分享下,希望帮到更多人 此问题发生在数据库迁移过程中.源数据库:自己笔记本上win7 64位系统的oracle11g个人版,字符集ZHS16GBK :目标数据库, ...
- C#获取并写入ORACLE数据库中中英文字符集问题
背景: 开发语言:C# 开发工具:VS2010 A方ORACLE数据库:中文字符集 B方ORACLE数据库:英文字符集 传递方式:webservice方式(取数据,并把取出的数据放到DataTable ...
- Oracle 汉字在不同字符集下所占字节
今天发现了一个问题,一个长度设置为2000字节的字段,插入一条长度为1000的汉字数据,竟然报错了. 一个汉字占两个字节,按理说刚好是2000个字节.但通过查看日志,发现插入数据的长度为3000字节. ...
随机推荐
- 云小课|云数据库RDS实例连接失败了?送你7大妙招轻松应对
摘要:自从购买了RDS实例,连接失败的问题就伴随着我,真是太难了.不要害怕,不要着急,跟着小云妹,读了本篇云小课,让你风里雨里,实例连接自此畅通无阻! 顺着以下几个方面进行排查,问题就可以迎刃而解~ ...
- 详解NLP和时序预测的相似性【附赠AAAI21最佳论文INFORMER的详细解析】
摘要:本文主要分析自然语言处理和时序预测的相似性,并介绍Informer的创新点. 前言 时序预测模型无外乎RNN(LSTM, GRU)以及现在非常火的Transformer.这些时序神经网络模型的主 ...
- 输入的查询SQL语句,是如何执行的?
摘要:输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程. 本文分享自华为云社区<一条查询SQL是如何执行的>,作者: 共饮一杯无 . 执行如下SQL,我们看到的只 ...
- 从源码角度详解Java的Callable接口
摘要:本文从源码角度深入解析Callable接口. 本文分享自华为云社区<深入解析Callable接口>,作者: 冰 河 . 本文纯干货,从源码角度深入解析Callable接口,希望大家踏 ...
- 火山引擎 LAS Spark 升级:揭秘 Bucket 优化技术
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 文章介绍了 Bucket 优化技术及其在实际业务中的应用,包括 Spark Bucket 的基本原理,重点阐述了火 ...
- SpringBoot 自定义初始化任务 Runner
在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.可以通过实现Runner接口完成以上工作. 两者只是参数上的区别 方式一 实现 CommandLineRunner 接口 ...
- web应用模式 api接口 接口测试工具postman restful规范
目录 web应用模式 前后端混合开发 流程说明(重要) 前后端分离开发 流程说明(重要) api接口 接口测试工具postman 基本介绍 编码格式 restful规范(重要) 简介 主要内容 练习 ...
- 锁定/解锁账户BAPI
一.锁定/解锁账户 锁定账户后,该账户不能在SAP系统登录,但是已经登录的用户,仍然可以继续使用 解锁账户后,该账户就可以正常登录使用 "-------------------------- ...
- #1016:Prime Ring Problem(经典DFS)
原题链接 题意:很容易理解,就是让你输出满足相邻的相加是素数的序列(注意不要重复) 思路就是深搜思想把每种情况遍历一次 代码实现: #include<iostream> #include& ...
- [kuangbin] 专题13 基础计算几何 题解 + 总结
kuangbin带你飞:点击进入新世界 [kuangbin] 专题7 线段树 题解 + 总结:https://www.cnblogs.com/RioTian/p/13413897.html kuang ...