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

************************************************************************
  ****原文:blog.csdn.net/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.csdn.net/clark_xu 徐长亮的专栏
************************************************************************  



阅读更多
版权声明:本文为博主原创文章(原文:blog.csdn.net/clark_xu 徐长亮的专栏),未经博主允许不得转载。 https://blog.csdn.net/u011538954/article/details/44749307
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭