修改oracle字符集

本文详细介绍了如何在Oracle数据库服务器上更改字符集编码,包括服务器端和客户端的配置方法。针对不同需求,提供了具体的步骤说明,并列举了多种字符集及其对应的语言和地区设置。

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

1.改变oracle 服务器端的字符集编码

 $sqlplus /nolog
 SQL>conn / as sysdba;

  若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器,然后执行以下命令:

    SHUTDOWN IMMEDIATE;
   STARTUP MOUNT;
   ALTER SYSTEM ENABLE RESTRICTED SESSION;
  ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
  ALTER SYSTEM SET AQ_TM_PROCESSES=0;
  ALTER DATABASE OPEN;
  ALTER DATABASE CHARACTER SET ZHS16GBK; (如果提示需要超集,SET internal_use ZHS16GBK )
   SHUTDOWN IMMEDIATE;
  STARTUP

 为了保证修改字符集后数据不丢失,新字符集必须是旧字符集的超集(完全包含旧字符集)。加一个internal_use强制不检查

2.查看服务器端的字符集编码
select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
select * from PROPS$ WHERE NAME='NLS_CHARACTERSET';

 

3.更改客户端字符集:
这个是Oracle设置的一个变量。在Windows中,这个变量保存在注册表中:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 保存着NLS_LANG变量。

或者:
修改环境变量:
dos 下执行 set NLS_LANG=AMERICAN_AMERICA.JA16SJIS

LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示

TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯

CHARACTERSET:
-控制客户端应用程序使用的字符集
通常设置或者等于客户端(如Windows)代码页
或者对于unicode应用设置为UTF8


Oracle NLS_CHARACTERSET value
    Language

    ZHS16CGB231280
    Chinese Simplified (GB2312)
    gb2312
    chinese, csGB2312, csISO58GB231280, GB2312, GB_2312-80, iso-ir-58

    ZHS16GBK
    Chinese Simplified (Windows)
    windows-9361
    windows-936

    ZHT16BIG5 (alter database character set internal_use ZHS16GBK)
    Chinese Traditional
    big5
    csbig5, x-x-big5
 

    ZHT16MSWIN950
    Chinese Traditional
    windows-950

    ISO2022-CN
    Chinese
    iso-2022-cn2
    csISO2022CN

    ZHT32EUC
    Chinese Traditional (EUC-TW)
    EUC-TW1

    ISO2022-JP
    Japanese (JIS)

    JA16EUC
    Japanese (EUC)

    JA16SJIS
    Japanese (Shift-JIS)

    KO16KSC5601
    Korean

    ISO2022-KR
    Korean (ISO)

    KO16MSWIN949
    Korean (Windows)

    UTF8
    Universal (UTF-8)
    utf-8
    unicode-1-1-utf-8, unicode-2-0-utf-8, x-unicode-2-0-utf-8

    ZHS32GB18030
    gb18030

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值