龙空技术网

oracle的字符集的修改和查看

正能量大龄程序猿 181

前言:

此时我们对“oracle转字符集”大约比较看重,同学们都需要知道一些“oracle转字符集”的相关知识。那么小编在网上汇集了一些有关“oracle转字符集””的相关资讯,希望大家能喜欢,同学们快快来学习一下吧!

修改oracle的字符集

常见的Oracle字符集有ZHS16GBK、AL32UTF8、US7ASCII,UTF8等用途待查,我们如果安装错了,可以通过下面

方法进行修改

1,用sys登录 sqlplus / as sysdba

2,shutdown immediate;

3,startup mount;

4,alter system enable restricted session;

5,alter system set job_queue_processe=0;

6,alter system set aq_tm_processes=0;

7,alter database open;

8,alter database character set internal_use AL32UTF8;

9,shutdown immediate;

10,startup;

select userenv('language') from dual; 查看字符集

影响Oracle数据库字符集最重要的参数是NLS_LANG参数。

它的格式如下: NLS_LANG = language_territory.charset

它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。

其中:

Language: 指定服务器消息的语言, 影响提示信息是中文还是英文

Territory: 指定服务器的日期和数字格式,

Charset: 指定字符集。

如:AMERICAN _ AMERICA. ZHS16GBK

从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。

所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。

(1).数据库服务器字符集

select userenv('language') from dual;

select * from nls_database_parameters;

(2).客户端字符集环境

select * from nls_instance_parameters;

(3).会话字符集环境

select * from nls_session_parameters

(4).客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

如果多个设置存在的时候,NLS作用优先级别:Sql function > alter session > 环境变量或注册表 > 参数文件 > 数据库默认参数

字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。

标签: #oracle转字符集