0

0

Oracle关于字符集的分析

php中文网

php中文网

发布时间:2016-06-07 16:44:18

|

1129人浏览过

|

来源于php中文网

原创

利用EXP/IMP导数工具要注意客户端字符集的设置。客户端字符集通过设置NLS_LANG(language_territory.clients characterset)来完

字符集有很多种,最初出现的字符集是ascii,由于ascii支持的字符数很有限,因此随后又出现了很多的编码方案比如unicode。 unicode是一个涵盖了目前全世界使用的所有已知字符的单一编码方案,其中常见的utf-16是unicode的16位编码方式,是一种定长多字节编码;而utf-8是unicode的8位编码方式,是一种变长多字节编码。

GBK和UTF-8是最常见到的两种字符编码方案,其中GBK是一个简体中文字符集的中国国家标准,是在国家标准GB2312基础上扩容后兼容GB2312的标准,包含全部中文字符,是GB2312的扩展,主要用于汉字编码;而UTF-8是用以解决国际上字符通用的一种多字节编码,包含全世界所有国家需要用到的字符,可以在各国各种支持UTF8字符集的浏览器上显示,是全世界通用的;ZHS16GBK按照2个字符长度存储一个汉字。UTF8字符集是多字节存储,1个汉字有时采用3个字符长度存储。

当字符集 A的编码数值包含字符集 B的编码数值,并且两种字符集相同编码数值代表相同的字符时,则字符集 A 是字符集 B 的超集,或称字符集 B 是字符集 A 的子集。UTF8是ZHS16GBK的严格超集。对于子集到超集的转换,Oracle是允许的,但是对于超集到子集的转换是不允许的。

字符集一般遵循的命名规则。比如AL16UTF16(AL指的是All Languages)。对于中文字符集ZHS16GBK,表示简体中文,一个字符需要16位比特,标准的字符集名称为GBK。

ORACLE支持的Unicode字符集最常用的是AL32UTF8,可以容纳多种语言文字;而只存储英文信息的数据库等来说,一般采用US7ASCII。

下文涉及到ORACLE三方面的字符集:数据库字符集、客户端字符集、客户端应用字符集。

ORACLE数据库字符集在创建后一般不能更改,创建数据库的过程中,一定要注意选择字符集。

对于简体中文平台,一般缺省的字符集是ZHS16GBK。此外,常见的中文字符集有ZHS16CGB231280(两者不相兼容)。

数据库字符集的相关文件在数据库上单独存贮在$ORACLE_HOME/nls/data。这些文件分别定义了语言(NLS_LANGUAGE)、区域(NLS_TERRITORY)和字符集(NLS_CHARCTERSET)。

利用EXP/IMP导数工具要注意客户端字符集的设置。客户端字符集通过设置NLS_LANG(language_territory.clients characterset)来完成。language指定客户端Oracle消息使用的语言、日期的显示;territory指定货币、数字等;而characterset控制客户端应用程序(比如sqlplus)使用的字符集,这个字符集对数据库传输的数据进行解码。

客户端字符集定义了客户端字符数据的编码方式,任何发自或发往客户端的字符数据均使用客户端定义的字符集编码,客户端可以看作是能与数据库直接连接的各种应用,例如 sqlplus,exp/imp 等。客户端字符集是通过设置 NLS_LANG参数来设定的。

NLS_LANG通常设置为和数据库字符集相同的字符集。这样导出的数据在导出端不发生转换,数据完整备份。导入的时候可以设置导入端NLS_LANG等于导出时的字符集,即使发生转换也发生一次。而转换也决定了导入的数据库字符集必须是导出的数据库字符集的超集,才能转换成功。

要识别导出文件的字符集,可以使用ultraedit工具或者cat xx.dmp | od -x | head -2查看文件头的第2、3个字节。常见的字符集有ZHS16GBK为0354;ZHS16CGB231280为0352;US7ASCII 为0001;UTF8 为0367等等。

数据库字符集通过NLS_DATABASE_PARAMETERS或者 select userenv('language') from dual查询;客户端字符集在 windows 平台下, 就是查询注册表NLS_LANG,而在 unix 平台下,就是环境变量 NLS_LANG;而客户端应用字符集可以通过cmd右键属性查看,决定查询在终端上的输出显示。一般为简体中文GBK字符集。

Angel工作室企业网站管理系统1.2
Angel工作室企业网站管理系统1.2

Angel工作室企业网站管理系统全DIV+CSS模板,中英文显示,防注入sql关键字过滤,多浏览器适应,完美兼容IE6-IE8,火狐,谷歌等符合标准的浏览器,模板样式集中在一个CSS样式中,内容与样式完全分离,方便网站设计人员开发模板与管理。系统较为安全,以设计防注入,敏感字符屏蔽。新闻,产品,单页独立关键字设计,提高搜索引擎收录。内置IIS测试,双击打启动预览网站    Angel工作室企业网站

下载

在oracle有关字符集的文档中,常见到有四个oracle参数,主要是前两个:

NLS_DATABASE_PARAMETERS来源于props$,是表示数据库的字符集。在创建数据库的时候设定的,一般不改变。

V$NLS_PARAMETERS显示数据库当前session ,受客户端影响(可能是alter session 或者环境变量或注册表或者参数文件);

NLS_INSTANCE_PARAMETE来源于v$parameter(表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表。);

NLS_SESSION_PARAMETERS有两种可能:既有可能显示由NLS_LANG 设置的参数,,或着经过alter session 改变后的参数值(此时等同NLS_INSTANCE_PARAMETER);

--------------------------------------分割线 --------------------------------------

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址:

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

2

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

481

2026.01.28

包子漫画在线官方入口大全
包子漫画在线官方入口大全

本合集汇总了包子漫画2026最新官方在线观看入口,涵盖备用域名、正版无广告链接及多端适配地址,助你畅享12700+高清漫画资源。阅读专题下面的文章了解更多详细内容。

156

2026.01.28

ao3中文版官网地址大全
ao3中文版官网地址大全

AO3最新中文版官网入口合集,汇总2026年主站及国内优化镜像链接,支持简体中文界面、无广告阅读与多设备同步。阅读专题下面的文章了解更多详细内容。

296

2026.01.28

php怎么写接口教程
php怎么写接口教程

本合集涵盖PHP接口开发基础、RESTful API设计、数据交互与安全处理等实用教程,助你快速掌握PHP接口编写技巧。阅读专题下面的文章了解更多详细内容。

10

2026.01.28

php中文乱码如何解决
php中文乱码如何解决

本文整理了php中文乱码如何解决及解决方法,阅读节专题下面的文章了解更多详细内容。

13

2026.01.28

Java 消息队列与异步架构实战
Java 消息队列与异步架构实战

本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。

10

2026.01.28

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

25

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

125

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Pandas 教程
Pandas 教程

共15课时 | 1.0万人学习

Swoft2.x速学之http api篇课程
Swoft2.x速学之http api篇课程

共16课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号