Oracle因安装时未设定字符集导致中文乱码的解决方案

本文介绍在CentOS6.4系统中如何将Oracle11g的默认字符集从WE8MSWIN1252更改为AL32UTF8。包括关闭和重启数据库、设置SQL跟踪、调整系统参数等步骤。

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

在CentOS 6.4上安装Oracle 11g没有设定字符集,采用的是操作系统默认字符集:WE8MSWIN1252,将字符集修改为:AL32UTF8。

SQL> select userenv('language') from dual;

SIMPLIFIED CHINESE_CHINA.WE8MSWIN1252

SQL> select * from nls_database_parameters where parameter in ('NLS_CHARCTERSET','NLS_NCHAR_CHARACTERSET');

SQL> select* from v$nls_parameters where parameter='NLS_CHARACTERSET';

操作过程如下:cuug本周五晚免费Oracle网络公开课《反恐精英:动态SQL和SQL注入》


SQL> shutdown immediate

SQL> startup

SQL> alter session set sql_trace=true;

SQL> alter system enable restricted session;

SQL> show parameter job_queue_processes;

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

SQL> update props$ set VALUE$='UTF8' where NAME='NLS_NCHAR_CHARACTERSET';

改变字符集后,原来已有的数据不会改变,只是之后新增的数据会是新的字符集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值