一、什么是
oracle
字符集
Oracle
字符集是一个字节数据的解释的符号集合
,
有大小之分
,
有相互的包容关系。
ORACLE
支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。
SELECT
* FROM V$NLS_PARAMETERS
1 NLS_LANGUAGE SIMPLIFIED CHINESE
2 NLS_TERRITORY CHINA
3 NLS_CURRENCY RMB
4 NLS_ISO_CURRENCY CHINA
5 NLS_NUMERIC_CHARACTERS .,
6 NLS_CALENDAR GREGORIAN
7 NLS_DATE_FORMAT DD-MON-RR
8 NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
9 NLS_CHARACTERSET AL32UTF8
10 NLS_SORT BINARY
11 NLS_TIME_FORMAT HH.MI.SSXFF AM
12 NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
13 NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
14 NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
15 NLS_DUAL_CURRENCY RMB
16 NLS_NCHAR_CHARACTERSET UTF8
17 NLS_COMP BINARY
18 NLS_LENGTH_SEMANTICS BYTE
19 NLS_NCHAR_CONV_EXCP FALSE
二、如何查询
Oracle
的字符集
ORACLE
有
三方面的字符集,一是
oracel server
端的字符集,二是
oracle client
端的字符集
;
三是
dmp
文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确导入。
--
查看
oracel server
端的字符集
select
userenv('language') from dual;
1
SIMPLIFIED CHINESE_CHINA.AL32UTF8
--
查看
dmp
文件
的字符集
用
oracle
的
exp
工具导出的
dmp
文件也包含了字符集信息,
dmp
文件的第
2
和第
3
个字节记录了
dmp
文件的字符集。如果
dmp
文件不大,比如只有几
M
或几十
M
,可以用
UltraEdit
打开
(16
进制方式
)
,看第
2
第
3
个字节的内容,如
0354
,然后用以下
SQL
查出它对应的字符集
:
select
nls_charset_name(to_number('0354','xxxx')) from dual
--
查看
oracel
client
端
的
字符集
是注册表里面相应
OracleHome
的
NLS_LANG
。还可以在
dos
窗口里面自己设置,比如
:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
这样就只影响这个窗口里面的环境变量。