如何查看oracle数据库字符集

 查看oracle数据库字符集有3个方面:

(1)、数据文件字符集

(2)、oracle服务端

(3)、oracle客户端

 

1、数据文件可以分为多种,如果是带分隔符的文本文件,直接用editplus或UltraEdit等文本编辑工具打开就可以看到文本的编码方式;如果是dmp文件的话,用exp导出的dump也包含了编码信息,如果dump文件不太大,可以直接用UltraEdit (16进制方式)打开,看第2、3字节的内容,如0354,然后用sql可以查处它们对应的字符集。

SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
 
NLS_CHARSET_NAME(TO_NUMBER('03
----------------------------------------
ZHS16GBK

如果文件很大,可以用一下命令(unix或linux环境)

[oracle@T310 oradata]$ cat INDIGLIB_120615.DMP |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6
0345

然后用sql查处字符集。

2、oracle服务端字符集

SQL> select userenv('language') from dual;
 
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8

3、oracle客户段字符集

3.1 window环境下,修改注册表ORACLE_HOME目录下的环境变量NLS_LANG。

3.2 unix/linux环境下,就是环境变量$NLS_LANG

[oracle@T310 oradata]$ echo $NLS_LANG
AMERICAN_AMERICA.AL32UTF8

server端和client端编码要一致,否则检索或导入数据时会产生乱码。

你可能感兴趣的:(oracle)