【oracle】字符集、国家字符集及NLS_LANG运行库

本文介绍了Oracle数据库中的字符集和国家字符集,包括它们的作用和常见类型。详细讲解了Unicode编码方案,如utf-8, usc-2, utf-16,并探讨了中文编码如GBK和GBK2312的区别。此外,还讨论了NLS_LANG运行库及其对数据库操作的影响,特别是导入导出时的字符转换问题。" 114313039,10535023,Spring框架下按包名获取所有类,"['Java', 'Spring框架', '类扫描', '资源加载', '元数据']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

************************************************************************
  ****原文:blog.youkuaiyun.com/clark_xu 徐长亮的专栏
************************************************************************  


--unicode编码方案
     --三个实施标准:utf-8,usc-2,utf-16
--oracle数据库字符集
     --字符集character set
     --国家字符集national character set
--字符集主要作用
    --用于存储varchar2,char,clob,long类型数据
    --标示表名,列名,以及pl/sql变量等;
    --存储sql和plsql代码
--国家字符集用于存储nchar,nvarchar2,nclob等数据类型;
      --一般为AL16UTF16
      --简体中文平台的字符集一般为ZHS16GBK;
--常见中文编码
      --ZHS16GBK231280 GBK2312-80 16bit,ASCII
      --ZHS16GBK GBK 16bit,ASCII,UDC;
      --GBK2312 1981年实施,
      --GBK 1995年实施,支持全部中日韩汉子
      --GBK和GBK2312的编码是不同的,同一个编码可能表达不同的汉字
      --AL 开头,如AL16UTF16,AL表示试用所有原因;
--NLS运行库路径:ORACLE_HOME/nls/data
      --定义语言NLS_LANGUAGE
      --定义区域NLS_TERRITORY
      --定义字符集NLS_CHARACTERSET
       --中文的文件,lx00023.nlb,通过locale Builder打开
--字符和编码的转换
select dump('盖') from dual;
--------------
---typ=96 len=2:184.199
select concat(to_char(184,'xx'),to_char(199,'xx')) from dual;
--b8 c7
select to_number('b8c7','xxxxxx') from dual;
--47303
select chr(47303) from dual;
--盖
--NLS_LANG的影响
        --进行exp攻击进行导出的操作时候,非常重要的是客户端的字符集设置,NLS_LANG设置
        --NLS_LANG=<language>_<Territory>.<client characterset>
        --language指定了日期的显示方式,oracle消息使用的语言
        --territory参数指定了货币和数字的格式
        --characterset控制了字符集
--导入导出和字符转换
--源数据库和目标数据库的字符集不同
--导入的时候设置客户端NLS_LANG等于导出时候的字符集,转换发送在insert数据到其他字符集的目标数据中;

************************************************************************
  ****原文:blog.youkuaiyun.com/clark_xu 徐长亮的专栏
************************************************************************  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值