数据库的字符集的问题
字符集的三个方面,
数据库实例的字符集
SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8
windows的系统字符集
C:\Windows\system32>chcp Active code page: 936
Linux系统的字符集
weblogic@YFCS68-141:~> locale LANG=en_US.UTF-8 LC_CTYPE="zh_CN.GBK" LC_NUMERIC="zh_CN.GBK" LC_TIME="zh_CN.GBK" LC_COLLATE="zh_CN.GBK" LC_MONETARY="zh_CN.GBK" LC_MESSAGES="zh_CN.GBK" LC_PAPER="zh_CN.GBK" LC_NAME="zh_CN.GBK" LC_ADDRESS="zh_CN.GBK" LC_TELEPHONE="zh_CN.GBK" LC_MEASUREMENT="zh_CN.GBK" LC_IDENTIFICATION="zh_CN.GBK" LC_ALL=zh_CN.GBK
客户端的字符集
指定为
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
在操作系统向数据库导入数据时,需要使nls_lang与操作系统的字符集一致,让数据库的存储自动转化即可,这样数据库与应用的系统的都不会出现乱码