修改Oracle数据库的字符集为UTF-8

博客介绍了Oracle客户端和服务器端字符集的修改方法。客户端可通过修改注册表设置,且需与服务器端一致,否则会出现乱码。服务器端可通过SQL PLUS命令窗口修改,但字符集修改可能影响数据库数据,正式环境修改需谨慎。

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

一、改客户端字符集

通过WINDOWS的运行菜单运行Regedit,修改注册表
Start -> Run -> regedit - > HKEY_LOCAL_MACHINE -> SOFTWARE ->ORACLE->KEY_XE->RIGHT WINDOW DOUBLE CLICK NLS_LANG -> CHANGE VALUE TO “SIMPLIFIED CHINESE_CHINA.AL32UTF8” ->OK ->CLOSE REGISTRY

  • 正确设置ORACLE客户端字符集的方法:

oracle客户端字符集设置需要和服务器端一致,否则会出现乱码问题。

首先连接服务器,查询服务器端设置:

select * from v$nls_parameters;

找到:

NLS_LANGUAGE

NLS_TERRITORY

NLS_CHARACTERSET

环境变量nls_lang便是由这三部分组成

NLS_LANG = SIMPLIFIED CHINESE_CHINA.AL32UTF8

二、改服务器端字符集

1.通过ORACLE的SQL PLUS命令窗口改

sqlplus

2.在SQL*PLUS 中,以DBA登录

输入用户名:sys as sysdba

SQL> conn sys/root as sysdba
在这里插入图片描述

3.然后执行以下命令

shutdown immediate; (把database停了)

startup mount; (把database重开去可更改情況)

alter system enable restricted session;(设置session)

alter system set job_queue_processes=0;

alter system set aq_tm_processes=0;

alter database open; (启动数据库)

alter database character set AL32UTF8; (修改字符集)

–或者

alter database character set internal_use AL32UTF8; (修改字符集)

shutdown immediate; (关闭)

startup; (重新正常开启)

注:字符集最好不要轻易修改,因为这会对数据库的数据有直接的影响,

如果是正式环境的话,可能会造成不可估计的损失。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值