oracle有哪些字符集,Oracle字符集有关问题

Oracle字符集问题

计算机只能识别0和1,对于人类社会复杂的文字无法直接识别,需要通过对字符编码,给每个字符设定一个二进制编码。

字符编码方式主要分为以下两种:

1. 单字节编码

a. 最早的编码为US7ASII,采用1个字节中的7位来编码,共有128中组合,以满足美国的语言,但这种编码支持的字 符数太少;

b. 随之出现了8位的编码方案,共有256种组合,如WE8ISO8859P1,满足了西欧国家的需求,但亚洲国家文字较为复杂,该编码方案仍旧无法满足,需要更大的编码空间,于是多字节编码出现了

2. 多字节编码

a. 定长多字节,采用固定字节长度来保存字符编码,如AF16UTF16

b. 变长多字节,采用变字节长度来保持字符编码,如ZHS16GBK,ZHS16CGB231280,AL32UTF8

多个字节的编码空间能满足所有文字的需求,使各种语言国家都能使用计算机

从ORACLE的角度也可分为两种:

1. 数据库服务器字符集

服务器端分为数据库字符集和国家字符集,在建库时确定,一般运行时不要修改字符集,虽然可以通过如下语句修改

alter database character set '新字符集名称';

可以通过以下几个视图和表来查看服务器的字符集

nls_database_parameters

props$

v$nls_parameters

2. 客户端字符集

客户端字符集在ORACLE中指NLS_LANG的设置,但客户端真正的字符编码方案要看系统环境而定,可以在CMD中输入 chcp 来查看系统的字符编码,这里谈谈NLS_LANG的作用

NLS_LANG的作用主要在于通知ORACLE服务器,在客户端使用的字符编码,默认与操作系统环境的编码一致,也可以手动进行修改,当修改后的编码与服务器的编码非超集关系时,在SQLPLUS中显示查询结果、EXP/IMP等情况下将发生字符集转换,若转化不成功即出现乱码。

有任何问题可以加入我们的ORACLE群:84549521

共同学习,共同进步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值