赞
踩
查看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端编码要一致,否则检索或导入数据时会产生乱码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。