Oracle 设置字符集

本文介绍了Oracle数据库中AL32UTF8字符集的特性,它是ZHS16GBK的超集,用于存储多种语言编码。详细步骤指导如何在不同字符集之间进行数据导出和导入,以及如何查看和设置数据库和系统的NLS_LANG参数,包括在Windows和Linux环境下设置系统字符集的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AL32UTF8字符集不是一种可(显示/输入)的语言字符集,是一种用于存储的字符集,支持全世界主要的文字语言编码。
AL32UTF8为ZHS16GBK的超集。


NLS_LANG应该设置成系统本身所使用的语言字符集,与数据库语言字符集进行转换。
1. 从AL32UTF8服务器将数据导出,导出前先设定 NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"。
2. 从ZHS16GBK服务器将数据导入,导入前先设定 NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"。


查看数据库字符集
SQL> select * from v$nls_parameters;
SQL> select userenv('language') from dual;


查看系统字符集
Windows:
cmd -> echo %NLS_LANG%
Linux:
$ locale


设置数据库字符集
SQL> conn /as sysdba;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter system set aq_tm_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use ZHS16GBK;
SQL> alter system set nls_language = 'AMERICAN' scope = spfile;
SQL> alter system set nls_territory = 'AMERICA' scope = spfile;
SQL> shutdown immediate;
SQL> startup;


设置系统字符集
Windows:
我的电脑 -> 属性 -> 高级 -> 环境变量
NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
Linux:
$ export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值