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

本文详细介绍了当遇到Oracle数据库字符集问题时,如何通过调整NLS_LANG参数来确保客户端与服务器端字符集的一致性。文章提供了查询字符集状态的方法,并逐步指导读者完成字符集的修改过程。

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

不管错误信息中你的数据库字符集是什么,都是由于数据库服务端和你的客户端字符集不统一造成的。影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下: NLS_LANG = language_territory.charset。它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:

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

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

Charset:  指定字符集。


一、查询客户端字符集 

SELECT * FROM V$NLS_PARAMETERS;

二、查看服务器端字符集

SELECT * FROM NLS_DATABASE_PARAMETERS;

 

由于已经修改过了字符集,上图中字符集都是utf8.

三、修改客户端字符集与服务器端一致的步骤(图文)

1.登入 

C:\Windows\system32>sqlplus

请输入用户名:sys

输入口令:as sysdba

 

SQL> shutdown immediate;      // (把database停了)

SQL> startup mount;  //(把database重开)

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 utf8;

SQL> alter database character set internal_use utf8;

SQL> shutdown immediate;

SQL> startup;   //(重开正常oracle)

验证的话,看文章一二两步骤即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值