加入收藏 | 设为首页 | 会员中心 | 我要投稿 泰州站长网 (https://www.0523zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 点评 > 正文

【oracle 数据导入导出字符问题】

发布时间:2022-08-25 20:10:14 所属栏目:点评 来源:
导读: 在数据库导入导出过程中或加载外部表的数据时,有时会遇到导入,加载外部数据到库时会出现乱码,引起这个种乱码

         在数据库导入导出过程中或加载外部表的数据时,有时会遇到导入,加载外部数据到库时会出现乱码,引起这个种乱码问题有可能是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等类型数据
(2) 用来标示诸如表名、列名以及PL/SQL变量等
(3) 用来存储SQL和PL/SQL程序单元等

3、国家字符集

(1) 用以存储NCHAR, NVARCHAR2, NCLOB等类型数据

(2) 国家字符集实质上是为oracle选择的附加字符集,主要作用是为了增强oracle的字符处理能力,因为NCHAR数据类型可以提供对亚洲使用定长多字节编码的支持,而数据库字符集则不能。国家字符集在oracle9i中进行了重新定义,只能在unicode编码中的AF16UTF16和UTF8中选择,默认值是 AF16UTF16

4、字符编码

三、联想以上所有字符类型,字符集等构成了整个数据库的基础骨架,存储数据、高效检索、数据计算等功能构成了数据库的日常运用。数据库维护涉及到其数据库正常,高效运行,此刻涉及优化等等。(此处描述比较简略,后期会逐渐详细描述)


总结:字符及编码是数据库的基础,也是数据库设计的要点,此处应该慎重。


Yicheng16
22.08.17

-- The End --

(编辑:泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章