关于Oracle字符集简单说明

在创建oracle数据库时,需要指定数据库使用的字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET)。语句的格式示例如下:

 

CREATE DATABASE "MON"

MAXINSTANCES 8

MAXLOGHISTORY 500

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 500

DATAFILE '/oradata/MON/system01.dbf' SIZE 1024M REUSE

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/oradata/MON/sysaux01.dbf' SIZE 1024M REUSE

SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/oradata/MON/temp01.dbf' SIZE 3072M REUSE

SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/oradata/MON/undotbs01.dbf' SIZE 3072M REUSE

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16

LOGFILE GROUP 1 ('/oralog/MON/redo01.log') SIZE 512M,

GROUP 2 ('/oralog/MON/redo02.log') SIZE 512M,

GROUP 3 ('/oralog/MON/redo03.log') SIZE 512M,

GROUP 4 ('/oralog/MON/redo04.log') SIZE 512M

USER SYS IDENTIFIED BY "oracle" USER SYSTEM IDENTIFIED BY "oracle";

 

目前比较常用的字符集编码有以下几类:

 

ASCII编码:如US7ASCII

Unicode编码:如AL16UTF16

GBK编码:如ZHS16GBK

 

Oracle的字符集命名通常遵循以下命名规则:,例如[ZHS][16][GBK]。如果AL,则代表ALL,表示适用于所有语言。

 

ZHS16GBK为国家GBK汉字内码扩展规范,[GB]代表[国标][K]代表[扩展]的意思,英文全称Chinese Internal Code Specification。它是GB2312-80的扩展,支持简体字、繁体字、日语等字符。不过在官方文档上,对于ZHS16GBK的说明是Simplified Chinese,这个多少会给人一定的误解。

 

关于字符集另一个重要的参数就是环境变量NLS_LANG,该参数由以下部分组成:

NLS_LANG=_.

其中参数指定Oracle消息使用的语言,日期中月份和日的显示;

参数指定货币和数字格式,地区和计算星期及日期的习惯;

控制客户端应用程序使用的字符集。

 

通常在现实环境中,存在3个字符集设置:

(1)       客户端应用字符集

(2)       客户端的NLS_LANG参数设置

(3)       服务器端数据库字符集的设置

在数据传输过程中,如果客户端NLS_LANG和数据库字符集设置一致,那么传输将不进行任何字符转换。为了不产生乱码,应尽量保证上述3类字符集设置一致。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20750200/viewspace-707813/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20750200/viewspace-707813/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值