【oracle 数据导入导出字符问题】
在数据库导入导出过程中或加载外部表的数据时,有时会遇到导入,加载外部数据到库时会出现乱码,引起这个种乱码问题有可能是oracle字符集、客户端字符集、操作系统字符集不一致所导致的。 一、字符集查询方法 1、服务端字符集 select userenv('language') from dual; select * from nls_database_parameters; 2、操作系统字符集 linux: echo $NLS_LANG cat .bash_profile export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK windows: C:/Users/zhouji>chcp 活动代码页: 936 (对应简体中文GBK) 设置在注册表中永久设置或临时设置 set nls_lang=AMERICAN_AMERICA.ZHS16GBK 3、客户端字符集 select * from nls_instance_parameters linux:export NLS_LANG= 备注:三者一致,数据导入,导出、加载外部表不会出现数据转换及乱码情况。 二、字符类型、字符集、国家字符集、字符编码区别 1、字符类型 如:char varchar varchar2 number clob等等; 2、字符集 (1)用来存储CHAR, VARCHAR2, CLOB, LONG等类型数据 3、国家字符集 (1) 用以存储NCHAR, NVARCHAR2, NCLOB等类型数据 (2) 国家字符集实质上是为oracle选择的附加字符集,主要作用是为了增强oracle的字符处理能力,因为NCHAR数据类型可以提供对亚洲使用定长多字节编码的支持,而数据库字符集则不能。国家字符集在oracle9i中进行了重新定义,只能在unicode编码中的AF16UTF16和UTF8中选择,默认值是 AF16UTF16 4、字符编码 三、联想以上所有字符类型,字符集等构成了整个数据库的基础骨架,存储数据、高效检索、数据计算等功能构成了数据库的日常运用。数据库维护涉及到其数据库正常,高效运行,此刻涉及优化等等。(此处描述比较简略,后期会逐渐详细描述) 总结:字符及编码是数据库的基础,也是数据库设计的要点,此处应该慎重。 Yicheng16 -- The End -- (编辑:泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |